Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak pozbyc sie niechcianych znakow ' " ' ?
Forum PHP.pl > Forum > Przedszkole
kaźmirz
Mam duzy (jak dla mnie) problem z pozbyciem sie znakow cudzyslowu.
Znam funkcje str_replace, preg_replace itp., ale kompletnie nie mam pomyslu jak z nich w tym przypadku skorzystac.
Co chce osiagnac?

Mam tekst:
Kod
$text = '[autor="XXX"]jakis "tekst" w tagu[/autor]';

gdzie XXX, to nieznana tresc i nazwa tagu tez jest nieznana :/

Teraz chce pozbyc sie tych cudzyslowow ("), ale tylko w tagu [autor=], zeby nie usunelo mi mozliwych cudzyslowow z tekstu wewnatrz tagu.
Tak ma to wygladac:

$text = '[autor=XXX]jakis "tekst" w tagu[/autor]';

Da sie to w ogole zrobic?
Bo przyznam ze podstawu wyrazen regularnych niby znam, ale nie mam pojecia jak to zrobic :/
Prosze o pomoc smile.gif

Teraz cos mi do glowy wpadlo, jest tak pokrecone, ale wydaje mi sie ze moze zadzialac.
Czy to ma sens?:

  1. $text = '[autor="Heniek"]Jakis "tekst" w tagu[/autor]';
  2. $text = preg_replace("#\[(*.?)\"(*.?)\"\](*.?)\[\/(*.?)\]#si", "[\\1\\2]\\3[/\\4]", $text);

Jednak nie dziala - sypie bledami sad.gif
sadistic_son
Najprosciej to:
  1. $text = '[autor="XXX"]jakis "tekst" w tagu[/autor]';
  2. $text=str_replace('="','=',$text);
  3. $text=str_replace('"]',']',$text);
kaźmirz
Cytat(sadistic_son @ 15.03.2011, 16:49:15 ) *
Najprosciej to:
  1. $text = '[autor="XXX"]jakis "tekst" w tagu[/autor]';
  2. $text=str_replace('="','=',$text);
  3. $text=str_replace('"]',']',$text);

Gorzej jesli w tekscie wewnatrz tagu trafi sie taka kombinacja ( =" lub "] ).
Ale i tak pomogles, bo moze uda mi sie to lekko przerobic i wyklucze mozliwosc podmiany wewnatrz tagow.
binbash
Witam,

A może tak:
  1. $text = '[autor="Heniek"]Jakis "tekst" w tagu[/autor]';
  2. $text = preg_replace('/(\[[a-zA-Z]+=)(")([a-zA-Z]+)(")(])/', '$1$3$5', $text);
  3.  
  4. var_dump($text);

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.