Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
preg_replace ersetzung geht schief [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
preg_replace ersetzung geht schief


 
steeph
16-09-2011, 21:03 
 
Hallo, ich habe ein problem, hier mal ein Beispielcode:


$sport = 'Sport & Mode';
$suchmuster = array('[-]', '[&]');
$ersetzung = array("-<br />", "&<br />");
echo preg_filter($suchmuster, $ersetzung, $sport);


Die $sport variabel kommt aus einer Datenbank und die Variabel sieht eigentlich so aus

preg_replace($suchmuster, $ersetzung, strtoupper($menupunkt['name']));

teste ich es lokal, macht er genau das was ich möchte, setze ich das aber in mein Modul ein für mein CMS (contenido) macht es den Umbruch auch, aber das Ergebnis ist folgendes:

SPORT &
AMP; MODE

Wieso habe ich hier ein ampersand davor ? Wo genau macht das CMS den Fehler, oder wie kann ich mein Suchmuste/Ersetzung anpassen, dass der Fehler nichtmehr auftritt ????

 
AmicaNoctis
16-09-2011, 21:12 
 
Hallo,

vermutlich versucht das CMS, deinen fehlerhaften HTML-Code zu korrigieren. Ein unmaskiertes Ampersand ist so ein Fehler, erst recht in XHTML. Versuch mal, es gleich durch &amp; zu ersetzen – was kommt dann raus?

Gruß,

Amica

 
steeph
16-09-2011, 21:16 
 
Wenn ich
$ersetzung = array("-<br />", "&amp;<br />");

ändere bleibt der Fehler bestehen

ändere ich
$suchmuster = array('[-]', '[&amp;]');
auch mit maskieren
bricht er mir beim & nichtmehr um

 
wahsaga
16-09-2011, 21:40 
 
Bitte beachten: Crossposting ist unerwünscht (http://www.php-resource.de/forum/php-developer-forum/announcements.html#crossposting)

wordwrap problem - Seite 2 - php.de (http://www.php.de/php-einsteiger/84142-wordwrap-problem-2.html)


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:43 Uhr.