I have a problem separting a text string with the preg_split function
If somebody could help, it would be greatly appreciated.
---------
The problem I have is that my code, so far, does the job, except it
recognises ALL ":" and not only those following "PAGE".
This should be fairly easy to solve?
---------
What I want to do:

As part of a php-controlled content management system, this code has the
purpose to link to other page within the same website.
Example: "See also this page."
When editing content, the administrator should be able to perform this link
by editing the string above as:
"See also PAGE:15:this page:PAGE.", so containing:
PAGE: (opening tag, to be found by php code to insert a <a href...)
15: number of the corresponding page
:PAGE (end tag to be replaced by </a>)

My code:
       # -- loop through string until all PAGE requests are processed
   while(ereg('PAGE:',$string))
   {
     # -- filter text string to separate to make $id_id available
   $nummer=preg_split("(PAGE|:|PAGE)", $string,
-1,PREG_SPLIT_DELIM_CAPTURE);
   
     # -- recall $id_id from the resulting array
   $id_id=$nummer[2];
   
     # -- replace opening tag, so next loop will no longer see the link
   $string=preg_replace("(PAGE:)","<a href=main.php?id=$id_id>",$string, 1);
   
     # -- replace end tag
   $string=preg_replace("(:PAGE)","</a>",$string, 1);
   
     # -- delete visible $id_id because it is still visible in the string
   $string=preg_replace("($id_id:)", "", $string, 1);
   }

with example $string="Here comes the link: PAGE:15:click here:PAGE"
this should, but doesn't produce the result "Here comes the link: <a
href=page.php?id=15>click here</a>"

-----
kind regards,
Jan 

Reply via email to