-1

私はこれをしばらく扱ってきましたが、PHPで次のことを行う方法がわかりませんでした:

$string = "this is test <pre>somrthing in <p>pharagraph</p></pre> dont know tell me <pre>value33 kooo ok</pre> this is php regress <pre>teeth value</pre> ok how"; 

function get_innercode($string) {
preg_match_all("#<pre>(.*?)</pre>#", $string, $foo); 
echo implode("\n", $foo[1]); 
}
    $insert1=get_innercode($string);



    $insert2=" 2 place me in the pre tag"; // you can ignore this

    $string="this is test  <pre> WHERE $insert1 SHOULD BE</pre> dont know tell me  <pre>WHERE $insert2 SHOULD BE</pre> ok how ";

これどうやってするの?できませんのでご了承ください

$string="some text here <pre> WHERE $insert1 SHOULD BE</pre> some more text here <pre>WHERE $insert2 SHOULD BE</pre> ok how";

$string から $insert1 と $insert2 を取得して変更するためです。私はそれを元の場所に戻す必要があります。ありがとうございました

4

4 に答える 4

1

PHP では、文字列を "." で連結できます。前と後、例:

$var1 = "hello";
$var2 = "What's up";

$concat = "Hey, ".$var1." ,".$var2."<br>";

echo $concat; 
于 2013-07-19T21:45:34.647 に答える
0

ここで同様の方法論。これにより、より広い領域を埋めることができます

$insert[0] = "Some Text";
$insert[1] = "Some More Text";

function Parser($content){
$i = 0;
    while (preg_match_all('`\<pre\>(.*?)\</pre\>`', $content, $matches)) {
       foreach ($matches[0] as $key => $match) { 
         //$innertext = $matches[1][$key]; //replace with your preferred filler
         $innertext = $insert[$i]; //such as this
         $replacement = '<pre>' . trim($innertext) . '</pre>';
         $content = str_replace($match, $replacement, $content); 
         $i++;
       }
    }
}

コンテンツの行を次のように解析します。

Parser("this is test <pre> WHERE $insert1 SHOULD BE</pre> dont know tell me  <pre>WHERE $insert2 SHOULD BE</pre> ok how");

これはテストされていないため、いくつかのバグが含まれている可能性があります。

于 2013-07-19T23:12:07.433 に答える