如何在php str_replace函数中加粗文本?

时间:2013-02-12 21:24:12

标签: php xml foreach str-replace

<?php
$xml = simplexml_load_file("xmldocumentation.xml") 
   or die("Error: Cannot create object");


 foreach($xml->children() as $pages){
   foreach($pages->children() as $page => $data){
   echo $data->id;
   echo '<br>';
   echo $data->timestamp;
   //echo $data->revision;
   echo "<br />";
   echo str_replace("/===[^=]+===/","bold heading here", $data->text);
   echo '<p class="text">'.$data->text.'</p>';

  }
}

?>  

使用php如何加粗由php的str_replace函数替换的文本,并以粗体标题显示修改后的内容,即。 ' ===标题=== '?

谢谢

2 个答案:

答案 0 :(得分:1)

更改

    echo str_replace("/===[^=]+===/","bold heading here", $data->text);

    $data->text = preg_replace("/===([^=])+===/","<strong>$1</strong>", $data->text);

正则表达式需要preg_replace,并且需要捕获要加粗的文本(通过()),然后将该文本包含在HTML元素中,以便为您提供所需的格式。

答案 1 :(得分:0)

<b> </b>可以做到这一点!

$strlst = 'lorem ipsum';

$strlst = explode( ' ' , $strlst );
function wrapTag($inVal){
   return '<b>'.$inVal.'</b>';
}
$replace = array_map( 'wrapTag' , $strlst );

$Content = str_replace( $strlst , $replace , $Content );

echo $Content;