私はこれを理解するのに苦労しています:
このようにフォーマットされたいくつかのリンクを含む文字列 ($data) があります。
[pagelink]Folder/File[/pagelink]
$data には、これらのリンクが複数含まれています。
これらのリンクを実際のhtmlリンクに置き換える必要があり、それを行うための次のコードがあります(これは機能します):
$data = preg_replace('/\[pagelink\](.*?)\[\/pagelink\]/is','<a href="$1">$1</a>',$data);
ここで、リンク自体を実際に変更せずに、ユーザーに表示されるリンクの一部からすべての「フォルダー」インスタンスを削除したいと思います。つまり、リンクが次の場合:
[pagelink]Folder/File[/pagelink]
私はそれがこれになることを望みます:
<a href="Folder/File">File</a>
私が試したのはこれです:
$data = preg_replace('/\[pagelink\](.*?)\[\/pagelink\]/is','<a href="$1">'.( strstr($1) === false ? $1 : str_replace('/','',strstr($1)) ).'</a>',$data);
しかし、大量のエラーが発生するため、この方法で後方参照を使用することはできないと思います。
私を助けてくれませんか?ありがとう