PHP арқылы CDATA арқылы арнайы таңбалардан аулақ болу

this has kept me days. trying to output an xml with these values. The bottomline is that it works fine but not with special chars, i wanna escape using CDATA. I tried $output .= '' getName().']]> ''; but shows no data. that means the method $_category->getName() does not run. The code below breaks when there is no CDATA.

       $output .= '';
       $output .= ''.$_category->getName().'';
       $output .= ''.$_category->getUrl().'';
       $output .= '';
2
Пожалуйста, сіздің мәселеңізді біршама анықтаңыз. this кодымен қандай нәтиже аласың?
қосылды автор Jonathan M, көзі
@Quentin, иә, бұл бірінші мысал болар еді, бірақ код блогы?
қосылды автор Jonathan M, көзі
@Jonathan M - қатені талдау: синтаксистік қате, күтпеген '' '' '' әрине ' жабылғаннан кейін қосымша мәтін қосылып, Бұдан кейін ' қосылды.
қосылды автор Quentin, көзі
@Jonathan M - CDATA туралы ештеңе айтылмағандықтан, мәселе «CDATA пайдаланудан қалай құтылуға болады?» Деген сұрақ «алдын-ала» кодты білдіреді.
қосылды автор Quentin, көзі

1 жауаптар

жолдың ішінде браузерге жіберілетін мәтінді мәтінді литеральді қою керек.

$output .= '
getName() . ']]>
';

That said, don't try to build xml by smashing together strings, you're just asking for errors to be introduced by unexpected data. Use a real xml library.

2
қосылды
Сұрақ қою үшін кешірім сұраймыз. Мен шын мәніндегі әдістерді алу әдісін шығаруды қалаймын. Бірақ @ Quentin әдісі жұмыс істейді. Экранда шыққан нәрсені алуға болмайды
қосылды автор karto, көзі
CDATA литералын шығаруға тырысады деп ойламаймын. Бірақ қайтадан кім айта алады? xml кітапханасының ұсынысы үшін +1.
қосылды автор Jonathan M, көзі
Мен сіз айтып жатқан нәрсені аламын, бірақ оның кодексіне көз жүгіртемін, менің ойымша ... Қосымша ақпарат қажет.
қосылды автор Jonathan M, көзі
@Jonathan M - Жасалған XML-де аяқталмауы керек болғанда, ол қандай болуы керек еді?
қосылды автор Quentin, көзі