Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zamiana tagu HTML za pomocą wyrażenia regularnego
Forum PHP.pl > Forum > Przedszkole
slepciu
Witam

Chciałbym aby string:
  1. <div align="center">jakiś tekst</div>inny tekst

był za pomocą wyrażenia regularnego zamieniany na:
  1. <center>jakiś tekst</center>inny tekst


Napisałem coś takiego:
  1. $zamiana = '<center>\1</center>';
  2. $wzorzec='#<divalign="center">(.*?)</div>#si';
  3. $tresc = preg_replace($wzorzec, $zamiana, $tresc);


Niestety nie działa. Proszę o pomoc.
nospor
Zanim weźmiesz się za wyrażenia regularne, przestudiuj wpierw podstawy, jakimi są obsługa tekstów. Bo masz podstawowe braki:
http://pl2.php.net/manual/pl/language.types.string.php
slepciu
Jesli chodzi o cudzysłowy, to był błąd przy przepisywaniu, już poprawiłem, tak jak mam to w skrypcie. Jeśli chodzi o coś innego to proszę wyjaśnij.
Kamil Pietrzak
bo musisz uzyc \\ a nie \

az sobie sprawdzialem u siebie i mi dziala;)
  1. $html = '<div align="center">jakiś tekst</div>inny tekst';
  2. $html = preg_replace("#<div align=\"center\">(.*?)</div>#s","<center>\\1</center>",$html);
  3. echo $html;
slepciu
Dzięki za pomoc, w miedzy czasie doszedłem do tego, że błąd był gdzie indziej, wyrażenie jest poprawne nawet z jednym ukośnikiem. Problem polegał na tym, że przez inny błąd tekst wejściowy był odrobinkę inny niż zakładałem. Sorry za niepotrzebny temat i jeszcze raz dzięki.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.