Heim > Backend-Entwicklung > PHP-Tutorial > Reguläre PHP-Ausdrücke: So passen Sie alle Überschriften und Absätze in HTML an

Reguläre PHP-Ausdrücke: So passen Sie alle Überschriften und Absätze in HTML an

王林
Freigeben: 2023-06-22 19:22:02
Original
992 Leute haben es durchsucht
<p>HTML-Tags werden häufig in modernen Websites verwendet und diese Tags enthalten verschiedene Elemente wie Titel, Absätze usw. Wenn Sie ein PHP-Entwickler sind, müssen Sie möglicherweise alle Überschriften und Absatz-Tags zur weiteren Verwendung aus einer HTML-Datei extrahieren. Hier kommen reguläre Ausdrücke zum Einsatz. In diesem Artikel erfahren Sie, wie Sie reguläre PHP-Ausdrücke verwenden, um alle Überschriften und Absätze in HTML abzugleichen. </p> <p>Zunächst müssen wir wissen, was die Tags von Titeln und Absätzen in HTML sind. HTML-Tags enthalten eine Vielzahl von Titel- und Absatzelementen. Die häufigsten davon sind h1, h2, h3 und andere Tags zur Darstellung von Titeln, während p-Tags zur Darstellung von Absätzen verwendet werden. In diesem Artikel konzentrieren wir uns nur auf diese am häufigsten verwendeten Tags. </p> <p>Jetzt sehen wir uns an, wie man reguläre PHP-Ausdrücke verwendet, um Titel- und Absatz-Tags in HTML abzugleichen. Der folgende Code zeigt ein einfaches PHP-Skript, das eine HTML-Datei liest und alle darin enthaltenen Überschriften und Absätze mithilfe eines regulären Ausdrucks abgleicht: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'><?php // 读入 HTML 文件 $html = file_get_contents('example.html'); // 正则表达式匹配所有标题和段落 $pattern = '/<(hd|p)[^>]*>(.*?)</>/si'; preg_match_all($pattern, $html, $matches); // 显示所匹配的结果 print_r($matches[0]); ?></pre><div class="contentsignin">Nach dem Login kopieren</div></div><p>Der reguläre Ausdruck in diesem Codeausschnitt <code>/< (hd|p)[^ >]*>(.*?)</ >/si</code> kann die folgenden Dinge tun: <code>/<(hd|p)[^>]*>(.*?)</>/si</code> 可以做到以下几个事情:</p><ul><li><code><</code> 和 <code>></code> 元字符用于匹配 HTML 标记的起始和结束位置。</li><li><code>hd|p</code> 表示匹配所有标题(h1、h2、h3 等)和段落(p)标记。</li><li><code>[^>]*</code> 匹配标记中除了 <code>></code> 之外的所有字符,这是因为 <code>></code> 是标记起始位置的定界符。</li><li><code>(.*?)</code> 使用非贪婪匹配方式来匹配标记中间的文本。</li><li><code></></code> 表示匹配与起始标记相对应的结束标记。<code></code> 表示匹配前面指定的标记(即 <code>hd|p</code>)。</li></ul><p>在这个正则表达式中,我们使用了 <code>s</code> 和 <code>i</code> 两个模式修饰符。其中,<code>s</code> 用于开启“点号匹配模式”,使得 <code>.</code> 元字符匹配所有字符,包括换行符。而 <code>i</code><ul><li><code>< ;</code>-Metazeichen werden verwendet, um den Anfang und das Ende von HTML-Tags abzugleichen. </li><li><code>hd|p</code> bedeutet, dass alle Überschriften- (h1, h2, h3 usw.) und Absatz-Tags (p) übereinstimmen. </li><li><code>[^>]*</code> entspricht allen Zeichen im Tag außer <code>></code>, da <code>></code > das Trennzeichen ist markiert die Ausgangsposition. </li><li><code>(.*?)</code> Verwenden Sie Non-Greedy-Matching, um Text in der Mitte des Tags abzugleichen. </li><li><code></ ></code> bedeutet, dass das End-Tag mit dem Start-Tag übereinstimmt. <code> </code> bedeutet Übereinstimmung mit dem zuvor angegebenen Tag (d. h. <code>hd|p</code>). </li></ul></p>In diesem regulären Ausdruck verwenden wir die beiden Mustermodifikatoren <code>s</code> und <code>i</code>. Unter anderem wird <code>s</code> verwendet, um den „Punktvergleichsmodus“ zu aktivieren, sodass das Metazeichen <code>.</code> mit allen Zeichen, einschließlich Zeilenumbrüchen, übereinstimmt. Und <code>i</code> wird verwendet, um den „Groß-/Kleinschreibungsmodus“ zu aktivieren, sodass die Groß-/Kleinschreibung des Tag-Namens keinen Einfluss auf die Übereinstimmungsergebnisse hat. <p></p>Wenn die Ausführung des Skripts abgeschlossen ist, werden alle passenden Überschriften und Absatz-Tags ausgedruckt. Das Ergebnis sieht etwa so aus: <p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>Array ( [0] => <h1>PHP 正则表达式</h1> [1] => <p>现代网站中常常会用到 HTML 标记,这些标记包含了各种元素,例如标题和段落等等。</p> [2] => <h2>标题2</h2> [3] => <p>段落2</p> [4] => <h3>标题3</h3> [5] => <p>段落3</p> )</pre><div class="contentsignin">Nach dem Login kopieren</div></div>Mit diesem Ergebnis können wir sehen, dass der reguläre PHP-Ausdruck alle Überschriften- und Absatz-Tags im HTML erfolgreich abgeglichen hat. Dieser reguläre Ausdruck hat andere Anwendungsszenarien, z. B. das Abgleichen von Links, Bildern und Tabellen in HTML. Hoffentlich hat Ihnen dieser Artikel dabei geholfen, die Verwendung regulärer PHP-Ausdrücke zum Abgleichen von Elementen in HTML besser zu verstehen. 🎜

Das obige ist der detaillierte Inhalt vonReguläre PHP-Ausdrücke: So passen Sie alle Überschriften und Absätze in HTML an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage