Wordpress での私の投稿のコンテンツは大きなマークアップです。これは MS Word からのものであるため、HTML のネストされたタグとインライン スタイルでテキストがラップされています。
コンテンツ内で何度も繰り返されるコードのセグメントがあります (テキストの脚注を表します)。たとえば、最初の脚注のこのセグメントは次のとおりです。
<sup><a title="" href="file:///C:/Users/hp/Desktop/file.docx#_ftn1" name="_f
tnref1">
<span class="MsoFootnoteReference">
<span dir="LTR">
<span class="MsoFootnoteReference">
<span lang="EN-US" style="font-size: 16pt; line-height: 115%;">
[1]
</span>
</span>
</span>
</span>
</a></sup>
.....
<a title="" href="file:///C:/Users/hp/Desktop/file.docx#_ftnref1" name="_ftn1">
<span class="MsoFootnoteReference">
<span dir="LTR" lang="EN-US" style="font-size: 12.0pt; font-family: 'Simplified Arabic','serif';">
<span class="MsoFootnoteReference">
<span lang="EN-US" style="font-size: 12pt; line-height: 115%;">
[1]
</span>
</span>
</span>
</span>
</a>
私の目標は、次の 2 つの href を変更することです。
href="file:///C:/Users/hp/Desktop/file.docx#_ftn1"
href="file:///C:/Users/hp/Desktop/file.docx#_ftnref1"
に:
href="#_ftn1"
href="#_ftnref1"
ユーザーが 1 つのアンカーから別のアンカーにジャンプできるようにします。
質問:
1- jquery の代わりにサーバー側言語を使用する方が良いですか?
2- 反復セグメントをループして、アンカーの各カップルの href コンテンツを変更する方法は?
平素より格別のお引き立てを賜り、誠にありがとうございます。
解決:
Broxzier + PHP によって提供される正規表現を使用すると、以下のコードが機能し、データベースに永続化する前に任意のデータに適用できます。
if(preg_match_all('/href\s*=\s*"[^"]+(#[^"]+)"/',get_the_content(),$match))
{
echo preg_replace('/href\s*=\s*"[^"]+(#[^"]+)"/','href="$1"', get_the_content());
}