Autor Zpráva
filiphk
Profil
Ahoj,

na svých stránkách používám následující kód, který v textu nahradí "<br />" a "</p><p>" za "mezeru".

$nahradit = Str_Replace("<br />"," ",$nahradit); $nahradit = Str_Replace("</p><p>"," ",$nahradit);


V podstatě jsem musel použít Str_Replace dvakrát, a tak by mě zajímalo, zda by se obě podmínky nedaly "nacpat" do jednoho Str_Replace zápisu.
Nox
Profil
Mělo by fungovat
...str_replace(array("<br />","<p></p>")," ",$nahradit);
případně ty jednotlivý části dát všechny do proměnných ... a pokud to nemáš jako utilitu vyloženě pro sebe tak na jednoducho,
tak asi bude lepší reguláry, nebo do toho prvního řetězce dát víc možností, protože může být i <br>, myslim i <br />, </p><p class="..."> atp.
Taps
Profil
a tak by to nešlo ?
$co=array("<br />","</p><p>");
$cim=array("","");
$nahradit = Str_Replace($co,$cim,$nahradit);
filiphk
Profil
Tak jsem to nakonec vyřešil sám, a to takto:

function nahradit($text) {$text = Str_Replace(Array("<br />","</p><p>")," ",$text); return $text;}; $neco = nahradit($neco);


Děkuji Noxovi a Tapsovi za rady, jejich postupy také vyzkouším. :c)
Smajda
Profil
nevím jestli je to k tématu ale já na zalomvání požívám n12br()
Nox
Profil
Jenže to co potřebuje on je spíš br2nl a to ještě rozšířené
filiphk
Profil
Nepotřebuji nic zalamovat, jen prostě z textu odstranit výše uvedené tagy, abych ho pak mohl třeba zavolat přes echo. :c)
Postup od Noxe se v podstatě shoduje s tím mým, postup od Tapse mi nefunguje. Nicméně už to běhá, takže je to vyřešeno. :c)

Děkuji všem za pomoc!


P. S.: Výše uvedeným způsobem jsem vytvořil podmínku, kdy odeslaný formulář zpracuje jen písmena. Třeba se to někomu bude hodit:
function nosign($sign)
{$sign = Str_Replace(Array("1","2","3","4","5","6","7","8","9","0","@","#","$", "%","^","&","?","!","*","_","-","+","=",".",":",";",",","~","/","(",") ","<",">","[","]","{","}","°","§","'"),"",$sign); return $sign;};
$neco = nosign($neco);

Vím, že se to dá zapsat i jednodušeji, ale takto to funguje spolehlivěji.
LamiCZ
Profil *
No, nevim, ja bych asi to delal pres regularni vyrazy, neco jako:
ereg_replace nebo rychlejsi preg_match  [a-z]{1,}
YoSarin
Profil
LamiCZ
A nejsi jediný - to co píše filiphk je celkem krkolomné.
filiphk
Profil
LamiCZ, YoSarin
Krkolomné to možná je, ale funguje to. Když jsem použil ereg_replace, některé znaky formulář "propouštěl" anebo dokonce ještě zdvojoval. Ale každý ať si vybere to, co mu vyhovuje. :c)
Toto téma je uzamčeno. Odpověď nelze zaslat.