PHP iki karakter arasındaki metini değiştirme

Başlatan ziyaretci, 12 Eylül 2013, 02:52:26

ziyaretci

Merhaba,

Kendime renkli kod paylaşım alanı hazırlıyorum fakat sadece "// açıklama , /* açıklama*/"  kaldı.

Yani /* */ karakterleri arasındaki veriyi okuyup başka bir kelime ile değiştirmek istiyorum, bayağı araştırdım fakat bir sonuç alamadım. Ayrıntılı bir şekilde anlatabilecek var ise memnun olurum.

Başka bir kelime dediğim sadece stilini değiştirmek.
$kodlar =" while for int break case switch /* abcde */  ";

echo "<span class='style1'>/*".$iki_karakter_arasi."*/</span>";   

Çıktı:

while for int break case switch /*abcde*/  // misal

aboo67

#1
<?php

function get_string_between($string, $start, $end){
    $string = " ".$string;
     $ini = strpos($string,$start);
     if ($ini == 0) return "";
     $ini += strlen($start);     
     $len = strpos($string,$end,$ini) - $ini;
     return substr($string,$ini,$len);
}



http://php.net/manual/en/function.split.php
http://php.net/manual/en/function.explode.php
http://php.net/manual/en/function.str-replace.php

hocam şunları bir inceleyin belki işinizi görebilir


ziyaretci

Alıntı yapılan: aboo67 - 12 Eylül 2013, 03:21:59
<?php

function get_string_between($string, $start, $end){
    $string = " ".$string;
     $ini = strpos($string,$start);
     if ($ini == 0) return "";
     $ini += strlen($start);     
     $len = strpos($string,$end,$ini) - $ini;
     return substr($string,$ini,$len);
}



http://php.net/manual/en/function.split.php
http://php.net/manual/en/function.explode.php
http://php.net/manual/en/function.str-replace.php

hocam şunları bir inceleyin belki işinizi görebilir

Verdiğiniz cevap için teşekkür ederim. Yukarıdaki kodu açıklayabilir misiniz?

gumush

#3
Sadece still degisikligi ise jquery ile yapilabilir. DOM'un id , class gibi secicileri ile istediginizi uzerine yazdirabilirsiniz.

Ama illa php ile olmasi gerekiyor ise htmldom parser kullanabilirsiniz.

http://coursesweb.net/php-mysql/simple-php-html-dom_pc
http://simplehtmldom.sourceforge.net/


Hikmet Gumus  izmir

ziyaretci

tamam çok şükür sonunda hallettim,
<style type="text/css">
.style5 {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	color: #666666;
	font-style: italic;
}
</style>
<?

$kodlar="Bu deneme sonunda bitti /*2 gündür uğraşıyorum*/ vs.vs.";


$diz=explode("/*",$kodlar);
$sayi1 = count($diz); 

for($i=1;$i<$sayi1;$i++){
$son=explode("*/",$diz[$i]);

$tamamlaniyor= "<span class='style5'>/*".$son[0]."*/</span>";
if($i==1){$oldu= str_replace("/*".$son[0]."*/", $tamamlaniyor, $kodlar);}
else{$oldu= str_replace("/*".$son[0]."*/", $tamamlaniyor, $oldu);}
}

echo $oldu; 


?>