[TYPO3-dev] TYPO3 4.2: Tables in content elements break backend layout

Steffen Kamper steffen at sk-typo3.de
Mon Mar 17 12:23:35 CET 2008


"Martin Kutschker" <Martin.Kutschker at n0spam-blackbox.net> schrieb im 
Newsbeitrag 
news:mailman.1.1205752564.10556.typo3-dev at lists.netfielders.de...
> Steffen Kamper schrieb:
>> "Martin Kutschker" <Martin.Kutschker at n0spam-blackbox.net> schrieb im 
>> Newsbeitrag 
>> news:mailman.1.1205750820.14415.typo3-dev at lists.netfielders.de...
>>> Steffen Kamper schrieb:
>>>> Can you explain what this expression does?
>>>> $content = preg_replace('/(<[^ >]* )([^ >]*)([^>]*>)(<\/[^>]*>)/', 
>>>> '$1$2$3$2$4', $content);
>>> Match a tag without content and use the first attribute as content:
>>>
>>> 1. match the the tag together with the opening < and a space (!) after 
>>> the tag name
>>> 2. match the first attribute (unless it contains a space!?!)
>>> 3. match the rest of the opening tag
>>> 4. match the closing tag
>>>
>>> Probably meant for LINK tags.
>>>
>>> Masi
>>
>> thx Masi for explanation. I have to test this out of TYPO3 to see why it 
>> fails with the tables.
>
> The expression shouldn't match for a table.
>
> But it will match <tag something="foo bar" etc></anothertag> and will 
> return <tag something="foo bar" etc>something="foo</anothertag>.
>
> Masi

but it does, check it out:

$content = '<table summary="only for some 
testing"><caption>testtable</caption><tbody><tr><td>sdfsdfsdf<br 
/></td><td>asdasdasdasd<br /></td><td>asdasdasdas<br 
/></td><td>asdasdasdasd<br /></td><td>asdadsadas<br 
/></td><td>asdasdasdasd<br /></td><td>asdasdasd<br /></td><td>asdasdasdas<br 
/></td></tr><tr><td>53156456as4d<br /></td><td>asdasdasdasdas<br 
/></td><td>asdadsasdasda<br /></td><td>asdasdasdasdas<br 
/></td><td>asdasdasdasd<br /></td><td>asdasdasdaasd<br 
/></td><td>asdasdasdas<br /></td><td>asdasdasdasd<br /></td></tr><tr><td 
rowspan="1"><br /></td><td rowspan="1"><br /></td><td rowspan="1"><br 
/></td><td rowspan="1"><br /></td><td rowspan="1"><br /></td><td 
rowspan="1"><br /></td><td rowspan="1"><br /></td><td rowspan="1"><br 
/></td></tr></tbody></table>';
echo strip_tags(preg_replace('/(<[^ >]* )([^ >]*)([^>]*>)(<\/[^>]*>)/', 
'$1$2$3$2$4', $content));

vg Steffen 






More information about the TYPO3-dev mailing list