Jump to content
php.lv forumi

Nestrādā korekti preg_replace()


Wuu

Recommended Posts

funkcija

	function uCode($code,$text){
	$return = preg_replace("/.*\[".$code."\](.*)\[\/".$code."\].*/","$1",$text,1,$c);
	if ($c==1) { return $return; }
}

 

texts

[imgb]http://img.uoc.lv/im...b31ef326e29.jpg[/imgb] Es zinu ka jūsu vecais dators sāk smilkstēt, kā maz apbižots ...

 

Lietoju šādi

uCode('imgb',$text)

 

Un funkcija atgrieza saturu kas atrodas starp [imgb][/imgb], bet pēc IPB2 uzlabošanas uz IBP3 versiju, funkcija nestrādā korekti un atgriež visu tekstu IPB3 postiem.

Bet strādā korekti un atgriež visu kā nākas no IPB2 radītajiem postiem. Nekādīgi nevaru saprast kāpēc tā? Cits kodējums vai kas? Vizuāli caur datubāzi skatoties, gan IPB2, gan IPB3 posti ir vienādi!

Edited by Wuu
Link to comment
Share on other sites

Izmainīju funkciju, bet tā arī nesapratu kāpēc vecā parstāja ar IPB3 postiem strādāti. Ja kāds vispār saprot par ko es te gvelžu.

Iesakiet kaut ko :D

 

Šobrīd tāds pagaidu variants.

	function uCode($code,$text){
	$start = strpos($text,'['.$code.']'); //Nosakām pirmā tāga pozīciju
	if ($start===FALSE){ return; } //Tāgs ir atrast, turpinām
		$end .= strpos($text,'[/'.$code.']'); //Nosakām beigu tāga pozīciju
		$return = substr($text,($start+strlen('['.$code.']')),($end-$start-strlen('['.$code.']'))); //Izrēķinām sākumu,beigās un atgriežam tāga iekšējo saturu.
		return $return;
}

Link to comment
Share on other sites

  • 4 weeks later...

Velviens jautājums

$string = preg_replace("/\[youtube\](.*)\[\/youtube\]/U","$1",$string);

Iekš $1 glabājas

[youtube][/youtube]

saturs.

Kā lai uz satura palaiž funkciju, piemēram strlen

$string = preg_replace("/\[youtube\](.*)\[\/youtube\]/U",strlen("$1"),$string);

strlen("$1") atgriež "2", jo php nesaprot ka $1 ir array. Kā to izdarīti?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...