php html 字符串 转 数组 用于小程序转换
private function htmlToArray($content)
{
$content = preg_replace('/<p>(.*)<\/p>/Uis', '--pgSuperSpliteGraceUI--p::pgSuperSplite::$1--pgSuperSpliteGraceUI--', $content);
$content = str_replace(array("\r\n", "\r", "\n"), '', $content);
$content = preg_replace('/<a href="(.*)" .*>.*<\/a>/Uis', '--pgSuperSpliteGraceUI--link::pgSuperSplite::$1--pgSuperSpliteGraceUI--', $content);
$content = preg_replace('/<img src="(.*)".*\/>/Uis', '--pgSuperSpliteGraceUI--img::pgSuperSplite::$1--pgSuperSpliteGraceUI--', $content);
$content = preg_replace('/<pre.*>(.*)<\/pre>/Uis', '--pgSuperSpliteGraceUI--pre::pgSuperSplite::$1--pgSuperSpliteGraceUI--', $content);
$content = preg_replace('/<strong.*>(.*)<\/strong>/Uis', '--pgSuperSpliteGraceUI--strong::pgSuperSplite::$1--pgSuperSpliteGraceUI--', $content);
$content = preg_replace('/<br.*\/>/Uis', PHP_EOL, $content);
$content = preg_replace('/<blockquote>(.*)<\/blockquote>/Uis', '--pgSuperSpliteGraceUI--quote::pgSuperSplite::$1--pgSuperSpliteGraceUI--', $content);
$content = preg_replace('/<hr(.*)\/>/Uis', '--pgSuperSpliteGraceUI--spline::pgSuperSplite::...--pgSuperSpliteGraceUI--', $content);
$content = strip_tags($content);
$content = preg_replace('/(\t)/Uis', '', $content);
$content = preg_replace('/ /Uis', ' ', $content);
$content = preg_replace('/&.*;/Uis', '', $content);
$content = explode('--pgSuperSpliteGraceUI--', $content);
$contentArray = array();
foreach ($content as $k => $item) {
$res = str_replace(array("\r\n", "\r", "\n", ''), '', $item);
if ($res != '') {
$itemArr = explode('::pgSuperSplite::', $item);
if (count($itemArr) < 2) {
$contentArray[] = array('type' => 'txt', 'content' => trim($itemArr[0]));
} else {
if($itemArr[0]=='p'){
$itemArr[0]='txt';
}
$contentArray[] = array('type' => $itemArr[0], 'content' => trim($itemArr[1]));
}
}
}
return $contentArray;
}
private function __htmlToArray($content)
{
$content = preg_replace('/<p style="(.*)">(.*)<\/p>/Uis', '--pgSuperSpliteGraceUI--p::pgSuperSplite::$1--pgSuperSpliteGraceUI--', $content);
$content = str_replace(array("\r\n", "\r", "\n"), '', $content);
$content = preg_replace('/<a href="(.*)" .*>.*<\/a>/Uis', '--pgSuperSpliteGraceUI--link::pgSuperSplite::$1--pgSuperSpliteGraceUI--', $content);
$content = preg_replace('/<img src="(.*)".*\/>/Uis', '--pgSuperSpliteGraceUI--img::pgSuperSplite::$1--pgSuperSpliteGraceUI--', $content);
$content = preg_replace('/<pre.*>(.*)<\/pre>/Uis', '--pgSuperSpliteGraceUI--pre::pgSuperSplite::$1--pgSuperSpliteGraceUI--', $content);
$content = preg_replace('/<strong.*>(.*)<\/strong>/Uis', '--pgSuperSpliteGraceUI--strong::pgSuperSplite::$1--pgSuperSpliteGraceUI--', $content);
$content = preg_replace('/<br.*\/>/Uis', PHP_EOL, $content);
$content = preg_replace('/<blockquote>(.*)<\/blockquote>/Uis', '--pgSuperSpliteGraceUI--quote::pgSuperSplite::$1--pgSuperSpliteGraceUI--', $content);
$content = preg_replace('/<hr(.*)\/>/Uis', '--pgSuperSpliteGraceUI--spline::pgSuperSplite::...--pgSuperSpliteGraceUI--', $content);
$content = strip_tags($content);
$content = preg_replace('/(\t)/Uis', '', $content);
$content = preg_replace('/ /Uis', ' ', $content);
$content = preg_replace('/&.*;/Uis', '', $content);
$content = explode('--pgSuperSpliteGraceUI--', $content);
$contentArray = array();
foreach ($content as $k => $item) {
$res = str_replace(array("\r\n", "\r", "\n", ''), '', $item);
if ($res != '') {
$itemArr = explode('::pgSuperSplite::', $item);
if (count($itemArr) < 2) {
$contentArray[] = array('type' => 'txt', 'content' => trim($itemArr[0]));
} else {
$contentArray[] = array('type' => $itemArr[0], 'content' => trim($itemArr[1]));
}
}
}
return $contentArray;
}