Hallo, ich bin gerade dabei einen BBCode-tag umzuwandeln, soweit so gut
aus titel
lese ich mittels
[PHP]$string_url = stristr($news_text, „[url=“);
preg_match(‚/^[url=(.?)](.?)[/url]/‘, $string_url, $url_url);[/PHP] aus
jetzt zum ersetzten, da wollte ich einfach das so machen
[PHP]$news_text = str_replace(„[<url“,„<a href='“. $url_url[1] .„' target='_blank'>“. $url_url[2], $news_text);
$news_text = str_replace(„[/url]“, „“, $news_text);
[/PHP]
komm jedoch nur dies raus
[url=http://www.domain.de]titel
Edit:
Wenn ich jetzt normal mittels $1 darauf zurückgreifen will, weil ich z.B. dies für eine weiter fkt. brauche geht das ja nciht weil dann Fehlermeldung:
syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or ‚$‘
wie könnte ich noch anderes darauf zugreifen, wenn ich diese noch anderweitig verwenden möchte?
wie zu sehen war, spielte die funktion highlight_string() eine Rolle.
Ich habe es jetzt
[PHP]$news_text = preg_replace(‚/[php](.*?)[/php]/es‘, ‚highlight_string(„\1“,true)‘, $news_text);[/PHP]
Als nächstes wäre nur die frage, wie ich darum, für die Ausgabe noch ein ||
Das ist ein wenig die Schwierigkeit, wenn du in so kleinen Häppchen fragst. Du bekommst für deine Einzelfragen zwar brauchbare Lösungen, die müssen aber nicht unbedingt in der Form erweiterbar sein, die du später benötigst. (Ich weiß, auf der anderen Seite hört man oft „Stell konkrete Fragen!“ – die Wahrheit liegt irgendwo dazwischen, ein etwas größerer Kontext ist aber meist hilfreich. ;))
Bei preg_replace_callback könntest du die entsprechenden HTML-Tags noch mit in die Callback-Funktion setzen.
Stimmt, wusste gar nicht, das es sowas gibt, danke auf jedenfall schonmal.
Ich muss es komplett drüber bei mir schauen, das ich ein Schönheitsfehler bei mir ntdeckt habe.
Durch „/es“ werden ja neue Zeilen eingefügt, im Code, da ich aber den kompletten String noch durch nl2br() jage, habe ich immer in Code eine Leerzeile.