-2

私はphpに次のhtml文字列を持っています

$html='<div style="display:block; float:left; width:40px;">&nbsp;</div><a href="http://cosa.gr/index.php?cPath=15" class="headerNavigation">text</a>';

文字列テキストがプログラム的な方法である場合、a要素に「h1」html要素を追加する必要があります。以下のコードは、必要な結果を示しています。

$html='<div style="display:block; float:left; width:40px;">&nbsp;</div><a href="http://cosa.gr/index.php?cPath=15" class="headerNavigation"><h1>text</h1></a>';

これを行う方法はありますか?

4

4 に答える 4

2
$html = '<div style="display:block; float:left; width:40px;">&nbsp;</div><a href="http://cosa.gr/index.php?cPath=15" class="headerNavigation">text</a>';
$html = preg_replace('|class="headerNavigation">(.+?)</a>|', 'class="headerNavigation"><h1>$1</h1></a>' ,$html);
print_r($html);
于 2012-07-26T11:56:49.740 に答える
1

headingタグを最後のanchorタグに挿入します。

$start = strrpos(substr($html,0,strrpos($html,"</a>")),">"); 
$html = substr_replace($html, "<h1>", $start+1,0);
$html = str_replace("</a>","</h1></a>",$html);
于 2012-07-26T11:59:06.377 に答える
0

a) h1-Tag が通常含まれるようにコードを変更します。

b) Link-Text を正規表現に置き換えます。

$oldstring = "... dour data without h1 ...";
$text = "... the Link-Text ...";
$newstring = preg_replace("/" . preg_quote($text) . "/", "<h1>" . $text . "</h1>", $oldstring);
echo $newstring;
于 2012-07-26T11:55:06.200 に答える
0

これが必要かも?最も簡単な方法。

$html='<div style="display:block; float:left; width:40px;">&nbsp;</div><a href="http://cosa.gr/index.php?cPath=15" class="headerNavigation">text</a>';

function inserth1($str) {
   $str = str_replace('class="headerNavigation">','class="headerNavigation"><h1>', $str);
   $str = str_replace('</a>','</h1></a>', $str);
   return $str;
}

echo inserth1($html);
于 2012-07-26T11:58:02.993 に答える