2017-10-30 6 views
0

のために二重引用符に引用符を交換してください画像にそのような間違ったaltsの内容があるので、私はすべてのaltsを交換する必要があります 。 (alt = '何かの顔')いくつかのaltsは持っていない(alt = '何かの顔')、しかしすべてのaltsはalt = '何か'を見ることができ、alt = "some text"私はHTMLで多くのページを持っている</p> <p>PSを助けてください 式は、このALT =「何かの顔」で単一引用符のALT =「何かの顔」で、この間違ったのALTを置き換えることができるものREG alt属性

+0

しかし、私はすでにデータベース –

+0

ああでこれらのページのHTMLコンテンツは、保存の時に、あなたはそれを行う必要がありました。しかし、決して少ないソリューションを得ることは決してありません。 –

+0

view-source:https://hdlava.me/name/aleksandra-daddario.html –

答えて

3

ここで問題となるのは、something's faceで使用されている'の引用符と区切り文字の引用符を区別する方法です。

私はこれをお勧め:

alt='(.*?)'\s+ 

demoを参照してください。

ここでは、属性のコンテンツを遅れて次の'と少なくとも1つのスペースが続くまでマッチングさせています。これは、テキスト内の'の引用符には、常に空白以外の文字が直接続くことを前提としています。問題は、これは複数の名詞を持つ's所有で失敗することです。例:

alt='I was at my parents' house' 

しかし、この場合、引用符を区別する方法はわかりません。汎用パターン(だけでなく、alt属性値)については

1

、あなたはこれを使用することができます。

Pattern & Replacement Demo Link

テスト文字列:

<img src='/foto/content/00/01/19/42/prezentatsiya-womens-health.pg'width=300 height=300 alt='На презентации Women's hеаlth' title='Women's hеаlth' data-info='These are the parents' concerns'/> 

パターン:~[^=]\K'(?!/>| ?[\w-]+=)~

交換を:\\'

説明:

記録のために、私のパターンはalt='I was at my parents' house'と比較して成功しています。

=が前に付いていない単一引用符は、/>または別の属性宣言の後にはありません。あなたのサンプル入力でwidth=300srcの値の後ろに叩かれているので、属性間にスペースがないようにしました。

\Kは、「ここでフルストリングマッチを開始する」という意味です。この手法はキャプチャグループの使用を避けるために使用され、パターンのパフォーマンスが向上します。


それともあなたはそれを反対のように動作するようにしたい場合は、二重引用符の外側の単一引用符を変換することができます - しかし、あなたはすべての既存の二重引用符を検索する必要があります。

~[\w-]+=\K'|'(?=/>| ?[\w-]+=)~Demo Link

+0

偉大なパターン、助けてくれてありがとう)mickmackusa –

+0

私は常に優れた答えを提供して満足しています。 – mickmackusa

関連する問題