0

私はXMLファイルを解析していますが、その作成者は私にはまったく役に立たないたくさんのソーシャルメディア情報にとらわれていました。データをデータベースに挿入する前に削除したいと思います。

問題は、すべてが同じではないということです。いくつかの発生は次のとおりです。

Be a Social Butterfly! Connect & Learn More Below: Website • Facebook • Yelp

リストされているソーシャルサイトが多いものと少ないものがあります。その部分全体を削除したいのですが。また、これはstrip_tagsを実行した後のvardumpです。オリジナルは次のようになります。

<strong>Be a Social Butterfly! Connect & Learn More Below:</br></strong>
<a target="_blank" href="http://www.kiran-indian.com">Website</a> •&lt;a target="_blank" href="http://www.facebook.com/pages/Kiran-Indian-Cuisine/55785994435"> Facebook</a> • <a target="_blank" href="http://www.yelp.com/biz/kiran-indian-cuisine-new-york">Yelp</a>

私はpreg_replaceを使用して、「社会的な蝶になる...」という文全体を削除しました。

$description = strip_tags(preg_replace('/\bBe a Social Butterfly! Connect & Learn More Below\b/', '', $value['redemptionLocations']['description']));

私の仲間は、最初/最後の部分を見つけるためにstrposを使用し、その間のすべてを削除するためにsubstrを使用することを提案しましたが、残念ながら私はそれを行う方法を理解するのに十分な進歩がありません。

前もって感謝します!

説明フィールド:

       
食べ物は常に一つのことをします。それはあなたを生き続けるのに役立ちます。しかし、それ以上のことができます。それはあなたを教育し、運び、そして活気づける経験になることができます。<a target="_blank" href="http://www.kiran-indian.com/home.htmls"> Kiran Indian Cuisine </a>でのランチやディナーは、他の料理に飢えないようにするチャンス以上のものです。日---新鮮な食材と最も芳香のある調味料を使用したおいしい自家製料理で、標準から逸脱するチャンスです。午前11時から午後11時まで年中無休で営業しており、主要なクレジットカードをすべてご利用いただけます。さらに、周辺地域からオンラインで注文した場合、配達は100%無料です。</br> </br>

<strong>ソーシャルバタフライになろう!以下の接続と詳細:</br> </ strong>
<atarget="_blank"href="http://www.kiran-indian.com">ウェブサイト</a>•<atarget="_ blank" href = "http://www.facebook.com/pages / Kiran-Indian-Cuisine / 55785994435 ">Facebook</a>•<atarget=" _ blank "href =" http://www.yelp.com/biz/kiran-indian-cuisine-new-york"> Yelp </a>

そのコードをここに貼り付けると、asci/etcが自動的に調整されるようです。

4

1 に答える 1

0

テキスト全体の最初の文字列の位置を見つけてstrposそれを使用する必要があります。次に、削除するチャンクの最後の位置を見つけて、もう一度を使用する必要がありますstrpos。これで、削除するチャンクの開始点と終了点ができました。これを使用substr_replaceして、チャンクを何も置き換えないで''ください。substr_replace削除するチャンクの長さを、3番目のパラメーターのように位置ではなく、4番目のパラメーターとして取るため、長さを計算するには、2番目の位置intから1番目の位置intを引く必要があります。

$feedtext='<description> this part is important...  be a social butterfly .. blah blah etc etc whatever whatever </description>';

$pos1=strpos($feedtext,'be a social butterfly');
$pos2=strpos($feedtext,'</description>');
$len=$pos2-$pos1;
$newtext=substr_replace($feedtext,'',$pos1,$len);

echo $newtext;

テスト済み:http ://www.ideone.com/1X5gI

于 2011-08-30T23:44:42.827 に答える