[thelist] Complicated PHP Search and Replace
Richard Harb
rharb at earthling.net
Wed Nov 10 16:57:06 CST 2004
Hi,
-----Original Message-----
From: danieleastwell at onetel.net.uk
Sent: Tuesday, November 9, 2004, 5:28:02 PM
> Hi,
> This is my first time posting - I've been struggling with this
> problem all day and haven't really come that close to
> resolving it, I'm hoping you can all help.
Welcome to TheList :)
> I'm developing a rudimentary content management system that
> tags up content with non-standard tags, for example,
> <link> http://web address here <linktext> link text here </link>
> for a link, and
> <bullet>bullet items here</bullet>
> for unordered lists.
The basic concept sounds a lot like it's been done in various wiki engines.
Though the exact syntax is different (even amond the engines) the principle and
I suppose difficulties should be similar.
> I've worked out the simple str_replace for the <link> tags to
> create working hyperlinks on pseudo tags pulled from the
> database to the viewed HTML, but am struggling with the coding
> of the unordered lists.
> I have this psuedo-code so far, that operates on the content
> after having converted the <bullet> tags to conventional
> <ul><li> opening and closing tags (only at the beginning and
> end of an unordered list):
> go through $content and for every <ul>, find <li>, then,
> until you find </li>, find \n and replace with </li>\n<li>
> and have given it this structure:
> for($i=0 ; $i == strlen($content); $i++){ // all of the content
> for( ; ;){ // every <ul>
> if(){ // there is a <li>
> for( ;;){ // until there is a </li>
> $content = str_replace("\n",
> "</li>\n<li>", $content);
> }
> }
> }
> }
> The problem comes with the coding. The iteration over the
> content does not seem to work, and I can't get my head round
> the correct way of thinking in order to operate a string
> function on a substring, only from a particular starting
> point/needle.
> Any advice would be gratefully received.
On a similar problem someone had I pointed to the tikiwiki (sourceforge), where
the programmers did a neat job of translating custom notation to (X)HTML. This
included tables, lists, links, and a lot more ...
I know that if you decided to check out the code and try to find out what's
going on looks intimidating at first (it was for me) - but eventually I found a
lot of good concepts in there.
There are plenty other solutions out there - phpwiki might be one. It certainly
is leaner, so the relevant code might be easier to find - to see how it was
solved. I've used it before, but didn't scrutinize the code .. so I can't tell
how well done the solution in there might be.
Hope this helps
Richard
More information about the thelist
mailing list