0

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()); 
}   
4

2 に答える 2