0

正規表現を使用して文字列を検索し、特定の URL を修正する必要があります。次のようなリンクから先頭の / を削除する必要があります。

/admin.somedomain.com または /somedomain.com

他にも絶対 URL はたくさんあるので、先頭の / 文字を取り除くことはできません。どんな助けでも大歓迎です。

これは、通常は TinyMCE からの html からユーザーが入力したテキストを処理しますが、他の HTML を使用する場合と使用しない場合のプレーン テキスト ボックスからの場合があります (または、別の方法で処理し、最初に文字列を検索する代わりにリンクを直接処理します)。残念ながら、href や img src などの URL が間違って入力されることがあります。

「/image.jpg」「/webapp/getfile?id=3354」のようなリンクが欲しい

"/somedomain.com" "/admin.somedomain.com" のようなリンクではありません

クリーンアップが必要なテキストの例を次に示します

<p><a href="/webapp/GetFile?id={2C59BC2D}"><img src="/wahelper/GetImage?id=308" alt="" width="100" height="100" /></a></p> <p><a href="/admin.somedomain.com">test</a></p>
4

1 に答える 1

0

うわあ、単純な正規表現を取得するのにこんなに苦労しました。これを試して:

$str = preg_replace( "/^\/((?:admin\.)?[^.]+.(?:com|net|other_TLD_you_want))/i", "http://$1", $str);

リンクを機能させたい場合は、実際にこれが必要なため、実際に置き換えたことに注意してください/http://単に削除すると/、リンクは、現在のディレクトリ内のローカル ファイルへのリンクになってadmin.somedomain.comしまいます。これはおそらく、必要なものではありません。

また、必要に応じcomnet追加してください。

また、これは次のような他の国の TLD では機能しないことに注意してください。co.uk

于 2012-08-31T23:16:34.293 に答える