..:: slovenska php stran ::..
uporabniško ime:
geslo:
- napiši
- arhiv
- sveže
- napiši
- arhiv
- Spletni ko...
- MySql Iska...
- Preprosta ...
- PHP - dina...
- Google - i...
- Števec obi...
- PHP - krat...
- PHP in MYS...
- mail skrip...
- prva stran
- izmenjava pasic
- pozabili geslo
Smrkec.com - Mnogo stvari na enem mestu
Slo-comp
Pikslar.com
slo-site.com
100si
stran: [1]
ExSpirit
član

št. sporočil: 15
datum: 29.07.2010 | čas: 10:51

Obstaja kakšen način, kjer je možno iz besedila odstraniti nek del, ki se nahaja med dvema znakoma?

Na primer:



Koda:

$test = "[b]To je neko[/b] testno [color=red] besedilo...[/color]";




Sedaj bi rad odstranil vse kar je med (vključno z)  [ ], tako da dobim "To je neko testno besedilo...".

Samo oklepaj/zaklepaj lahko odstranim z:


Koda:

$test = strip_tags(str_replace(array('[',']'), array(' ',' '), $test));




Da bi pa vključil še tisto kar je vmes mi pa ne gre.. Ima kdo kakšno idejo?


sporočilo je spremenil ExSpirit [29.07.2010 ob 11:01]

CiMeK
član

št. sporočil: 224
datum: 29.07.2010 | čas: 11:29


Koda:


$test = "[b]To je neko[/b] testno [color=red] besedilo...[/color]";
$test = preg_replace("/\[.*?\]/", "", $test);




http://www.php.net/preg_replace




ExSpirit
član

št. sporočil: 15
datum: 29.07.2010 | čas: 23:05

Super, zadeva deluje ampak sedaj imam še en problem, ko želim besedilo skrajšati in sicer ohranja mi <b>, <u>,... in ostale kode ki se ne zaključijo v tistem intervalu, ki ga uporabim...

Primer:

Koda:


<?
$a1 = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat in futurum.";

$a2 = "<b>Lorem [test] ipsum [test]dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</b>";

$a3 = "<u>[test]Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. .</u>";

$a4 = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat in futurum.";

$a1 = preg_replace('/\[([^_]+)\]/', '', $a1);
$a2 = preg_replace('/\[([^_]+)\]/', '', $a2);
$a3 = preg_replace('/\[([^_]+)\]/', '', $a3);
$a4 = preg_replace('/\[([^_]+)\]/', '', $a4);

echo substr($a1, 0, 50) . "<br /><br />";
echo substr($a2, 0, 50) . "<br /><br />";
echo substr($a3, 0, 50) . "<br /><br />";
echo substr($a4, 0, 50) . "<br /><br />";
?>




Zadeva bi morala vrniti tole:


Citiram:

"
Lorem ipsum dolor sit amet, consectetuer adipiscin

Lorem dolor sit amet, consectetuer adipiscing e

Lorem ipsum dolor sit amet, consectetuer adipis

Lorem ipsum dolor sit amet, consectetuer adipiscin
"



Ampak ta koda mi dejansko vrne tole:

Citiram:

"
Lorem ipsum dolor sit amet, consectetuer adipiscin

Lorem dolor sit amet, consectetuer adipiscing e

Lorem ipsum dolor sit amet, consectetuer adipis

Lorem ipsum dolor sit amet, consectetuer adipiscin


"



Kako zapreti vse tage oziroma popraviti to kodo?




stran: [1]
stran je še vedno v izdelavi zato nekatere stvari manjkajo oz. niso dokončane
forum -
teme zadnjih 24h -
iskanje -
statistika -
pravila -
Ali ste veseli nove ankete?

Itak!
Ne!
Anketa?

0.0130829811096
Število obiskov od 19.julija 2002: 1.283.130
php-si.com ne odgovarja za prispevke članov.
Copyright © 2002 php-si.com. Vse pravice pridržane