可能性の重複を働いていない置き換えます
RegEx match open tags except XHTML self-contained tagsPHPのプリプレグは
こんにちは最初に私の私は初心者だと言うしたいと思います。
私の問題は、ビデオサイトを開発していて、サイトが他のサイトからXMLを取得して、そのデータをデータベースに保存していることです。埋め込みで
が追加されます:
<div style="margin:auto" align="center">-
embed here
</div>
とテキストとのachorはこちら無料動画をアップロードします。
ここではpreg replaceを使用してこれらを削除したいと思いますが、動作しません。
function insertvids() {
$url = "http://thesite/rss.xml";
$data = simplexml_load_file($url, "SimpleXMLElement", LIBXML_NOCDATA);
//print_r($data->channel->item);
foreach ($data->channel->item as $r)
{
$title = $r->title;
$description = $r->description;
$embed = $r->embed;
$thumb = $r->image;
$duration = $r->duration;
$string = $r->embed;
$replace = array();
$replace[0] = '-<div style="margin:auto" align="center">-';
$replace[1] = '-<a href="http://thesite.com" target="_blank">-';
$replace[3] = '-Unlimited video upload for free.-';
$replace[4] = '-</a></div>-';
$replaceto = array();
$replaceto[0] = ' ';
$replaceto[1] = ' ';
$replaceto[2] = ' ';
$replaceto[3] = ' ';
$replaceto[4] = ' ';
preg_replace($replace, $replaceto, $string);
$data = array(
'title' => ''.$title.'',
'description' => ''.$description.'',
'thumbnail' => ''.$thumb.'',
'embed' => ''.$embed.'',
'duration' => ''.$duration.'',
'type' => 'slutload'
);
$this->db->insert('videos', $data);
//print_r($data) . "<br>";
}
}
何が不足しているのか把握しようとしていました。私がスクリプトを実行すると、何もしません。私が/ toを変更すると、それは私に与えられ、それは無効であるというエラーを出します。
誰かが間違っていることを指摘してもらえますか?
固定マークアップを追加した場合、それを削除するために正規表現が必要な理由は何ですか?また、エラーメッセージが表示された場合は、それらの曖昧な説明を提供しません。リテラルメッセージを代わりにコピーしてください。 –
なぜHTMLパーサーを使用しないのですか? – ThiefMaster
親指のためのthnaks :)それを保つ... :) – Side