Autor | Zpráva | ||
---|---|---|---|
filiphk Profil |
#1 · Zasláno: 25. 7. 2008, 20:03:00
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 |
#2 · Zasláno: 25. 7. 2008, 20:08:54
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 |
#3 · Zasláno: 25. 7. 2008, 20:11:16 · Upravil/a: Taps
a tak by to nešlo ?
$co=array("<br />","</p><p>"); $cim=array("",""); $nahradit = Str_Replace($co,$cim,$nahradit); |
||
filiphk Profil |
#4 · Zasláno: 25. 7. 2008, 20:29:51
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 |
#5 · Zasláno: 25. 7. 2008, 20:35:27
nevím jestli je to k tématu ale já na zalomvání požívám n12br()
|
||
Nox Profil |
#6 · Zasláno: 25. 7. 2008, 20:43:21
Jenže to co potřebuje on je spíš br2nl a to ještě rozšířené
|
||
filiphk Profil |
#7 · Zasláno: 25. 7. 2008, 21:20:46 · Upravil/a: filiphk
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 * |
#8 · Zasláno: 25. 7. 2008, 21:36:26
No, nevim, ja bych asi to delal pres regularni vyrazy, neco jako:
ereg_replace nebo rychlejsi preg_match [a-z]{1,} |
||
YoSarin Profil |
#9 · Zasláno: 25. 7. 2008, 22:35:45
LamiCZ
A nejsi jediný - to co píše filiphk je celkem krkolomné. |
||
filiphk Profil |
#10 · Zasláno: 26. 7. 2008, 02:44:52
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) |
||
Časová prodleva: 16 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0