2016-04-22 1 views
-1

PHP文字列を質問することがあります。PHP - モジュラー文字列の正確な削除

この文字列があり、その中にbbコードのセクションが1つあります。このような :

Mixed all type of things 

and edited it 

cool stuffasdasdasd 

[img]http://google.com/image.jpg[/img] 
- [url=http://google.com/]Google one[/url] 
- [url=http://google.com/]Google two[/url] 
- [url=http://google.com/]Google three[/url] 

some more cool stuff 

は、今私は、URLと、リストの最後の1まで、[スペース]タグでブロックを削除します。

ファイルの最後の場合は、strposを使用して最後のビットを削除しましたが、このフィールドの後にこの文字列内にconentが存在する可能性があります。リストは1リンクまたは500リンク、またはリストも全くあり得ませんでした。リストがまったくない場合は、再度strposを使ってチェックすることができますが、リストとそのタイトルイメージだけを削除するためには何を使用しますか?また、最後のbbコードタグを探すことができるだけでなく、そのセクションの後に他のbbコードも使用できるので、リストの最後のビットを厳密に使用する必要があります。例え下の似たエントリーとリストを分けるものがあれば、それはリストの一部ではなく、削除された文字列の最後の位置ではないでしょう...

感謝!

はどうもありがとうございました

よろしくArkensor

+0

それはあなたが正確に何をしたいですかはっきりしません。すべての '[img] + list'ブロックを削除するか、' [img] '、または..で始まるすべての段落を削除するには? –

答えて

1

あなたの文字列が続い$myOldStringと、呼び出された場合:

$myRegexPatternはあなたの古い文字列から削除したいパターンです
$myNewString = preg_replace($myRegexPattern,"",$myOldString); 

$myNewStringは、その中にbbコードのない新しい文字列になります。

例コード:エコーの

$myOldString = "Mixed all type of things 

and edited it 

cool stuffasdasdasd 

[img]http://google.com/image.jpg[/img] 
- [url=http://google.com/]Google one[/url] 
- [url=http://google.com/]Google two[/url] 
- [url=http://google.com/]Google three[/url] 

some more cool stuff"; 

$myRegexPattern = "/[img]http://google.com/image.jpg[/img]/"; 
$myNewString = preg_replace($myRegexPattern,"",$myOldString); 

echo $myNewString; 

結果:

Mixed all type of things 

    and edited it 

    cool stuffasdasdasd 


    - [url=http://google.com/]Google one[/url] 
    - [url=http://google.com/]Google two[/url] 
    - [url=http://google.com/]Google three[/url] 

    some more cool stuff 

は[スペース] http://google.com/image.jpg[/img]がなくなっている

それがあなたのために働いていた場合、私に教えてください! preg_replace上

より:PHP DOCUMENTATION

+0

これはすでにすばらしいですが、私はそれらも必要です - リストの一部であるURLコードも消えてしまいます。これは重要な問題です。URLのブロックがどこで終わるかを調べる必要があるので、それらのURLと頭のラインイメージだけが消えるようにしてください。ランダムなURLではなく、文字列のどこにでも存在する可能性があります。それらのタイトル[img]タグの中のanythignと任意のウェブサイトへのリンクとURLbbタグ付きのタイトル – Arkensor

+0

@Arkensorあなたが消滅させる必要があるものをもう一度説明してください。たとえば、 'lsfkj sdflkj [url = http://google.com/] Google one [/ url] asdfklj'がある場合、何も消えたくないですか? – Webeng

+0

http://i.imgur.com/MFHVHrD.png imgタグの内側にあるものは、モジュラーですが、固定されている場合は2つしかありません。そのイメージのタイトルの後の文字列には、bbタグ形式のリンクのリストがあり、headlineを含むそれらのリンクはすべて削除され、ブロックの前後で改行されるので、phpの部分が終わった後に見えますそのブロックのようなものはこの文字列に決して存在しませんでした。お返事ありがとうございます。 – Arkensor

関連する問題