preg_replace html kody

Programovacie jazyky, rady, poradňa...
lucas03
Darca
Darca
Používateľov profilový obrázok
Príspevky: 717
Registrovaný: 19 nov 2005, 14:43
Bydlisko: Brno

preg_replace html kody

Príspevok od používateľa lucas03 »

Ahojte,
Sem tam nieco skusam v php ale nic mi nejde, teraz by som chcel konkretne pomoct s preg_replace. Pri kopirovani textu z wordu do wordperssu word vklada do textu html kody, ktorych by som sa chcel zbavit. Chcem to teda spravit cez preg_replace.
konkretnu funkciu mam

Kód: Vybrať všetko

<?php 
$text = htmlspecialchars($_POST['text']);
$patterns = array();
$patterns[0] = htmlspecialchars('<span>');
$replacements = array();
$replacements[0] = '';


echo preg_replace($patterns, $replacements, $text);

?>
Je tam array lebo tych tagov tam bude viac co chcem odstranit. Avsak toto mi vypisuje chybu

Kód: Vybrať všetko

Warning: preg_replace() [function.preg-replace]: Unknown modifier 'g' in
Skusal som este davat a nedavat to htmlspecialchars, no tak ci tak to nefungovalo. V parametri neviem ako mam osetrit to, ze prejdu aj html znaky.
Dakujem.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: preg_replace html kody

Príspevok od používateľa audiotrack »

tú chybu ti vypíše kvôli htmlspecialchars, ktoré nahradí znaky < a > na ich htmlekvivalenty, ktoré žiaľ obsahujú znak g a ten je v regulárnych výrazoch ako prepínač greedy. Nepoužívaj htmlspecialchars. Čo myslíš tým, že "to nešlo"?
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: preg_replace html kody

Príspevok od používateľa BX »

lucas03 napísal: V parametri neviem ako mam osetrit to, ze prejdu aj html znaky.
Všetky znaky mimo písmen a čísel backslashni a všetko pôjde ako má :)

(teda píšes: = "/\<span\>/", alebo = "/\<\/span\>/"; )
lucas03
Darca
Darca
Používateľov profilový obrázok
Príspevky: 717
Registrovaný: 19 nov 2005, 14:43
Bydlisko: Brno

Re: preg_replace html kody

Príspevok od používateľa lucas03 »

tak išlo, ale vymazalo mi len

Kód: Vybrať všetko

span
z toho, mi potom echlo aj s tym kodom zvysnym.

// tak dik, skusal som aj backslashe ale asi v htmlspecialchars, este raz dik.
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: preg_replace html kody

Príspevok od používateľa BX »

Tak som to kvôli tebe vyskúšal a pravdepodobne si niečo urobil zle, pretože toto ide :)

Kód: Vybrať všetko

<?php
$posttext = "<span> daco text <b> bla bla </span>";

$rplc = array();
$rplc[0] = '[span]';
$rplc[1] = '[/span]';

$pole = array();
$pole[0] = '/<span\>/';
$pole[1] = '/<\/span\>/';

echo preg_replace($pole, $rplc, $posttext);

?>
// jaj aha, tak pardon :P
lucas03
Darca
Darca
Používateľov profilový obrázok
Príspevky: 717
Registrovaný: 19 nov 2005, 14:43
Bydlisko: Brno

Re: preg_replace html kody

Príspevok od používateľa lucas03 »

ta moja sprava hore bola k audiotrackovi, inac to facha, dik.
Napísať odpoveď