Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да премахнете маркери в маркер PHP XML MYSQL GCIDE, докато оставяте текст

Този код премахва етикети в целевия маркер ():

$str = "<entry><def>some def <altname>hey</altname></def></entry>";

$dom = new domDocument();
$dom -> loadXML($str);

// use getElementsByTagName or use DOMXPath($dom) to find your tag which don't contain other tags
$tags = $dom -> getElementsByTagName("def"); 

$contents = "";
for($i = 0; $tags -> length > $i; $i++){
    $contents = $tags -> item($i) -> nodeValue; //content without tags
    $children = $tags -> item($i) -> childNodes;
    remove_children($tags -> item($i)); //recursively remove chiled nodes
    $tags -> item($i) -> appendChild($dom -> createTextNode($contents));
}

//recursively remove chiled nodes
function remove_children(&$node) {
  while ($node->firstChild) {
    while ($node->firstChild->firstChild) {
      remove_children($node->firstChild);
    }
    $node->removeChild($node->firstChild);
  }
}

echo $dom -> saveXML();



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разлика между UNIX_TIMESTAMP и NOW() в MySQL

  2. помощ при заявка върху таблицата на връзките

  3. Как да поддържам PHP сесии в множество домейни на един и същ сървър?

  4. Използване на Eloquent полиморфни връзки за категоризиране на данни в Laravel

  5. MySQL, заявката е твърде бавна, как да я подобрим?