我有一個HTML文件,其中多個HTML標籤出現在一行上。例如:preg_match表達式在單個HTML標籤之間放置換行符
<body class=" yui3-skin-sam controls-visible guest-site signed-out public-page site"> <a href="#main-content" id="skip-to-content">Skip to Content</a> <div id="outer-wrapper"> <div id="wrapper" class="echa-styled live container-fluid"> <div id="content-wrapper"> <a href="#main-content" id="skip-to-content">Skip to Content</a> <header id="banner" role="banner">
我有一個PHP應用程序,它從這個文件中讀取,並將它寫(一些處理後除去各種標籤)到另一個文件。但是,在輸出文件上,我還希望在每個HTML標記之間創建新行"\n"
。所期望的輸出上面的例子是這樣的 - 唯一的區別是,每個標籤的開口部上的新行開始在輸出文件:
<body class=" yui3-skin-sam controls-visible guest-site signed-out public-page site">
<a href="#main-content" id="skip-to-content">Skip to Content</a>
<div id="outer-wrapper">
<div id="wrapper" class="echa-styled live container-fluid">
<div id="content-wrapper">
<a href="#main-content" id="skip-to-content">Skip to Content</a>
<header id="banner" role="banner">
我有我已經用於剝離正則表達式一些有條件的標籤是preg_replace('/<!--(.|\s)*?-->/', '', $body);
我正在考慮修改這一讓,而不是針對有條件的標籤(<!-- -->
),它的目標是<
和>
。然後,我將與preg_match
一起使用它但我不確定如何構造適當的preg_match
條件,特別是在添加新行字符的方式/位置方面。我想第一個參數將是'/<(.|\s)*?>/'
來定位任何開啓/關閉HTML標籤。
請有人建議如何做到這一點,或者如果有這個問題的替代解決方案?
我找到了同樣的解決方案 –
'str_replace('><' , '> \ n <',$ html)',假設標籤之間有空格,就像你的例子。 – Michel