PHP: S: Beispiele für "stringbasteleien"

Seite 1 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php_s_beispiele_fuer_quotstringbasteleienquot_124128/page_1 - zur Vollversion wechseln!


semteX schrieb am 09.09.2004 um 13:17

ich würd ein beispiel suchn für herumbasteln an strings. also z.b. wenn ich hab

"Überschrift: blahr Text: you are sick in your brain!"

dass ich mir das "blahr" und "you are.." in eigene variablen "rausholen"
kann...

danke

tschüss


murcielago schrieb am 09.09.2004 um 13:22

bestimmte programmiersprache?


Geigerzeiger schrieb am 09.09.2004 um 15:22

wenns in VB is dann:

Code:
str$ = "Überschrift: blahr Text: you are sick in your brain!"
blahrstr$ = mid$(str$, 13, 5) ' "blahr"
youstr$ = mid$(str$, 24, 7)   ' "you are"
Die Postionen musst ggf. ändern

In C++:
Code:
#include <string>   // Stringklasse implementieren
...
string Mid(string *str,   // Zeiger auf Input-String
           long start_pos, // Die Startposition im string
           long length )  
{
     string retText;
     
     retText.insert(0, &str, start_pos, length);
               // Hier wird der Teilstring hinzugefügt.

     return retText;  // und gibt den Text zurück
}

Du kannst die Funktion Mid() dann so aufrufen (wie oben):
Code:
string text("Überschrift: blahr Text: you are sick in your brain!");
    // dein Text als string-objekt

string blahrstr = Mid(&Text, 13, 5); // "Blahr"
string youstr = Mid(&Text, 24, 7); // "you are"


rettich schrieb am 09.09.2004 um 15:37

Zitat von Geigerzeiger
Zitat von h4p3
FireFox ist der aergere pr0n Leecher :eek: - Download all Feature 0wnt :eek:

die absoluten positionen sind halt eher ungünstig.

ich würd (wenns VB ist) mit inStr() nach dem ersten vorkommen von "Überschrift:" suchen und nach dem ersten vorkommen von "Text:" suchen - damit hast schon mal recht gute anhaltspunkte, wo dein gesuchter text im string überhaupt steht.


semteX schrieb am 09.09.2004 um 17:53

shit! tut mir sehr leid

sprache ist PHP


xcc schrieb am 09.09.2004 um 18:03

http://at.php.net

http://at.php.net/manual/de/function.stripos.php

hier hast du alle Stringbefehle untereinander (links)


Geigerzeiger schrieb am 09.09.2004 um 18:07

ganz einfach :

Code: PHP
$text = "Überschrift: blahr Text: you are sick in your brain!";
$rest = substr($text, 13, 5);  // ergibt "blahr"
.....

In der Funktion substr() musst du zu einem den String angeben den du zerlegen möchtest, dann die Position wo er den teilstr herausnehmen muss, und der andere parameter sthet für die Länge die der teilstr haben soll.


Phobos schrieb am 09.09.2004 um 18:09

Zitat von Geigerzeiger
ganz einfach :

Code: PHP
$text = "Überschrift: blahr Text: you are sick in your brain!";
$rest = substr($text, 13, 5);  // ergibt "blahr"
.....

In der Funktion substr() musst du zu einem den String angeben den du zerlegen möchtest, dann die Position wo er den teilstr herausnehmen muss, und der andere parameter sthet für die Länge die der teilstr haben soll.

das impliziert das die gewünschten teile immer an der gleichen stelle stehen und gleich lang sind, oder es werden nur teile des textes oder der wörter in die string geschrieben, ich glaub du missverstehst den SEHMTEKS ein bissl :D


Geigerzeiger schrieb am 09.09.2004 um 18:15

Zitat von semteX
ich würd ein beispiel suchn für herumbasteln an strings. also z.b. wenn ich hab

"Überschrift: blahr Text: you are sick in your brain!"

dass ich mir das "blahr" und "you are.." in eigene variablen "rausholen"
kann...

danke

tschüss

diese funktion holt sich ja das "blahr", usw. = Teilstring in eigene variablen . steht ja hier.

Zitat von Phobos
das impliziert das die gewünschten teile immer an der gleichen stelle stehen und gleich lang sind, oder es werden nur teile des textes oder der wörter in die string geschrieben, ich glaub du missverstehst den SEHMTEKS ein bissl :D

:bash:


semteX schrieb am 09.09.2004 um 18:34

danke schonmal alle!


das problem ist, dass die strings natürlich nie gleich sind (eh klar, sonst könnt ich das zeug gleich rausspeichern ;))

wie geh ich nach der suche von dem "space" am bsten vor?

ich könnt mir ja die posi von Überschrift und Text suchen und alles dazwischen rausspeichern..?

danke


Phobos schrieb am 09.09.2004 um 19:23

Zitat von Geigerzeiger
:bash:

aha, was hab ich den falsches gesagt? :confused:

@klaus, sind regexp keine lösung? haben die überschriften ein gewisses system?


rettich schrieb am 09.09.2004 um 19:32

Zitat von semteX
wie geh ich nach der suche von dem "space" am bsten vor?

steht eh schon alles da.

http://at.php.net/manual/de/function.stripos.php

-> suche nach erstem auftreten von string "Überschrift:", suche nach erstem, auftreten von string "Text:"

alles zwischen "erstem auftreten von 'überschrift:' + length('überschrift:')" bis "erstem auftreten von 'text:' -1" ist deine überschrift. alles von "erstem auftreten von 'text:'+ length('text:')" bis ende vom string ist der text.


dio schrieb am 09.09.2004 um 21:02

Zitat von Geigerzeiger
diese funktion holt sich ja das "blahr", usw. = Teilstring in eigene variablen . steht ja hier.



:bash:
R E G U L A R E X P R E S S I O N S
klingelt's? bei dir müsste man bashen.
@sem: ich schau, ob ich noch ein paar skripte mit regex hab, zum anschaun :)


watchout schrieb am 09.09.2004 um 21:25

Zitat von diokletian
R E G U L A R E X P R E S S I O N S
klingelt's? bei dir müsste man bashen.
@sem: ich schau, ob ich noch ein paar skripte mit regex hab, zum anschaun :)
da muss ich dir (einmal) rechtgeben... :p

beispiel:
preg_match("/^Überschrift: (.*)Text: (.*)$/",$str_suche,$arr_ergebnisse)

reference:
Function PREG_MATCH
PCRE-Syntax
PCRE-Pattern Modifiers


rettich schrieb am 09.09.2004 um 21:27

Zitat von watchout
da muss ich dir (einmal) rechtgeben... :p

beispiel:
preg_match("/^Überschrift: (.*)Text: (.*)$/",$str_suche,$arr_ergebnisse)

reference:
Function PREG_MATCH
PCRE-Syntax
PCRE-Pattern Modifiers

yo, das ist halt l33t style php-regexp-0wnage :cool:

mein ansatz geht dafür in allen gängigen programmiersprachen. :)




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026