Проблем с str_replace

hisar

Registered
Неиска да замества ето вижте php кода:

Код:
$comm = str_replace(":R", '<img src="img/smiles/arrow.gif" />', $comm);
		$comm = str_replace(":C", '<img src="img/smiles/coll.gif" />', $comm);
		$comm = str_replace(":?", '<img src="img/smiles/confused.gif" />', $comm);
		$comm = str_replace(":lol:", '<img src="img/smiles/ddz.gif" />', $comm);
		$comm = str_replace(":!", '<img src="img/smiles/exclamation.gif" />', $comm);
		$comm = str_replace(":idea:", '<img src="img/smiles/idea.gif" />', $comm);
		$comm = str_replace(":M", '<img src="img/smiles/mad.gif" />', $comm);
		$comm = str_replace(":Q", '<img src="img/smiles/question.gif" />', $comm);
		$comm = str_replace(":roll:", '<img src="img/smiles/rolling_eyes.gif" />', $comm);
		$comm = str_replace(":cry:", '<img src="img/smiles/sad.gif" />', $comm);
		$comm = str_replace(":SH", '<img src="img/smiles/shocked.gif" />', $comm);
		$comm = str_replace(":D", '<img src="img/smiles/smile.gif" />', $comm);
		$comm = str_replace(":EV", '<img src="img/smiles/twisted_evil.gif" />', $comm);
		$comm = str_replace(":verryH", '<img src="img/smiles/verry_happy.gif" />', $comm);
		$comm = str_replace(":verryS", '<img src="img/smiles/verry_sad.gif" />', $comm);
		$comm = str_replace(":W", '<img src="img/smiles/wink.gif" />', $comm);
		$comm = addslashes(htmlspecialchars($_POST['comm']));
		$avtor = $_SESSION['username'];
		$date_by = date("d.m.Y");
		$isert = mysql_query("INSERT INTO `pr_comments` (`soft_id`,`username`,`comment`,`added_by`) VALUES ('$soft_id','$avtor','$comm','$date_by')");
 
Код:
$comm = addslashes(htmlspecialchars($_POST['comm']));
 $comm = str_replace(":R", '<img src="img/smiles/arrow.gif" />', $comm);
      $comm = str_replace(":C", '<img src="img/smiles/coll.gif" />', $comm);
      $comm = str_replace(":?", '<img src="img/smiles/confused.gif" />', $comm);
      $comm = str_replace(":lol:", '<img src="img/smiles/ddz.gif" />', $comm);
      $comm = str_replace(":!", '<img src="img/smiles/exclamation.gif" />', $comm);
      $comm = str_replace(":idea:", '<img src="img/smiles/idea.gif" />', $comm);
      $comm = str_replace(":M", '<img src="img/smiles/mad.gif" />', $comm);
      $comm = str_replace(":Q", '<img src="img/smiles/question.gif" />', $comm);
      $comm = str_replace(":roll:", '<img src="img/smiles/rolling_eyes.gif" />', $comm);
      $comm = str_replace(":cry:", '<img src="img/smiles/sad.gif" />', $comm);
      $comm = str_replace(":SH", '<img src="img/smiles/shocked.gif" />', $comm);
      $comm = str_replace(":D", '<img src="img/smiles/smile.gif" />', $comm);
      $comm = str_replace(":EV", '<img src="img/smiles/twisted_evil.gif" />', $comm);
      $comm = str_replace(":verryH", '<img src="img/smiles/verry_happy.gif" />', $comm);
      $comm = str_replace(":verryS", '<img src="img/smiles/verry_sad.gif" />', $comm);
      $comm = str_replace(":W", '<img src="img/smiles/wink.gif" />', $comm);
      $avtor = $_SESSION['username'];
      $date_by = date("d.m.Y");
      $isert = mysql_query("INSERT INTO `pr_comments` (`soft_id`,`username`,`comment`,`added_by`) VALUES ('$soft_id','$avtor','$comm','$date_by')");
 
Колега със str_replace няма да се получи добре. Защо просто не ползваш preg_preplace.
Код:
$text='Опа, [b]дано работи[/b]. По-добре е да ползваш [b]preg_replace[/b]. Ето и логото на php - [img]http://bg2.php.net/images/php.gif[/img]';
$patern=array();
$replace=array();
$patern[0]='/\[b\](.*?)\[\/b\]/';
$patern[1]='/\[img\](.*?)\[\/img\]/';
$replace[0]='<strong>$1</strong>';
$replace[1]='<img src="$1" />';

$text=preg_replace($patern,$replace,$text);
echo $text;
 

Back
Горе