kleines Prob mit BB-Codes (Suchen und ersetzen)
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
bessere methode
besten mal
deswegen
fetten
funktion
gel
kleines beispiel
mache
radio
schussel
string
variable
variant
-
Moin an alle
ich hab mir mal son Tourtorial durchgelesen und dann habisch das mal mit der Funktion von http://www.php-einfach.de verglichen... das hat mich jetzt alles was verwirrt... also am besten versteh ich jetzt immernoch das Suchen und Ersetzen von PHP-einfach...
das w?re dann diese Funktion:
$text = "Dies IsT ein kleines Beispiel"; $text = eregi_replace("ist", "war", $text); echo $text;
jetzt will ich aber mehrere Dinge ersetzen...
$text = eregi_replace("ist", "war", $text);
ersetzt ja nur jeweils ein son teil... wie krich ich das jetzt mit mehreren Sachen hin? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ok... sry... war en kleener Schussel. ^^
is ja logisch, dass man replace dann mehrmals macht. XD sorrygung ^^ det Thema darg von mia aus gel?scht werden ^^ -
ok, jetzt lohnt sich das Prob doch noch... mit Fett, Kursiv und sowas, das is ja einfach... aber wie mache ich das mit Hyperlinks?
als BB-Code benutze ich das hier...
[a=URL]LINKNAME[/a]
und das is meine Variante das zu ersetzen...
$portin = eregi_replace("\[a=", "<a target='_blank' herf='", $portin); $portin = eregi_replace("\]", "'>", $portin); $portin = eregi_replace("\[/a\]", "</a>", $portin);
kennt da einer ne bessere Methode, die auch funzt? ^^ das hier klapt n?mlich net... -
Besch?ftige dich am besten mal mit reg-ex, die sind in solchen F?llen ganz sinnvoll.
Zum Code; Probier mal den hier, der sollte gehn:
$text=preg_replace('|\[a=(.*)\](.*)\[/a\]|Uis', '<a href=\"$1\">$2</a>', $text);
-
hmmm, so ganz funzt das noch net, weil die eingegebene URL an meine URL drangehangen wird, also so...
http://www.radio-stylisch.de/http://meine eingegebene URL.de/ -
Ja das liegt daran, dass du wahrscheinlich in deinem Text kein http:// vor den Link geschrieben hast. Richtig w?re also [a=http://blubb.de]hier nach blubb[/a]
Kannst aber auch noch den Code hier nehmen, der setzt noch ein http:// vor den Link, wenn das allerdings im Text dann schon steht, ist es pl?tzlich zweimal da:
$text=preg_replace('|\[a=(.*)\](.*)\[/a\]|Uis', '<a href=\"http://$1\">$2</a>', $text);
-
doch, http:// habisch geschrieben... h?ngt sich trozdem dran
-
Hm, ist zwar seltsam, aber war nur ein Problem mit " und '. So gehts:
$text=preg_replace('|\[a=(.*)\](.*)\[/a\]|Uis', "<a href=\"$1\">$2</a>", $text);
-
ok, danke... nun funzt es ^^
-
Hm, ist zwar seltsam, aber war nur ein Problem mit " und '. So gehts:
[...]
Wieso sollte das seltsam sein? Es ist doch eigentlich klar, dass bei Strings, die mit einfachen Hochkommas eingegrenzt sind, Variablen von dem Interpreter nicht ausgewertet werden. Deswegen benutzt man Hochkommas ja auch dann, wenn man wei?, dass keine Variablen in dem String sind, weil der String dann schneller vom Interpreter ausgewertet werden kann. -
i-spacke schrieb:
Hm, ist zwar seltsam, aber war nur ein Problem mit ' und '. So gehts:
[...]
Wieso sollte das seltsam sein? Es ist doch eigentlich klar, dass bei Strings, die mit einfachen Hochkommas eingegrenzt sind, Variablen von dem Interpreter nicht ausgewertet werden. Deswegen benutzt man Hochkommas ja auch dann, wenn man wei?, dass keine Variablen in dem String sind, weil der String dann schneller vom Interpreter ausgewertet werden kann.
Er hat die Variable schon ausgewertet, nur eben nicht so wie er sollte, deshalb hab ich das Problem ja nicht gleich entdeckt. Aber egal, es geht... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage