0

誰かがこの機能を機能させるのを手伝ってくれますか? 関数は受け入れる必要があります$HTMLstr-- HTML のページ全体が、次の形式のメタ記述を既に含む文字列に詰め込まれています。

<meta name="description" content="This will be replaced"/>

とともに、$content「これは置き換えられます」を置き換える必要がある文字列です。私はこの機能に近いと思っていましたが、うまくいきません。

function HTML_set_meta_description ($HTMLstr, $content) {
$newHTML = preg_replace('/<meta name="description"(.*)"\/>/is', "<meta name=\"description\" content=\"$content\"/>", $HTMLstr);
return ($newHTML);
}

助けてくれてありがとう!

編集:これが作業機能です。

function HTML_set_meta_description ($HTMLstr, $content) {
// assumes meta format is exactly <meta name="description" content="This will be replaced"/>
$newHTML = preg_replace('/<meta name="description" content="(.*)"\/>/i','<meta name="description" content="' . $content . '" />', $HTMLstr);
return ($newHTML);

}

4

3 に答える 3

0

すでに回答として使用するDOMDocumentことをお勧めしますが、正規表現に苦労している場合は、私がお手伝いします。代わりにこれを試すことができます:

return preg_replace('/<meta name="description" content="(.*)"\/>/i','<meta name="description" content="Something replaced" />', $HTMLstr);
于 2013-08-30T15:55:55.277 に答える