RE: [PHP-DB] Using strlen and substr to Shorten DB Results
| From: | John W. Holmes | Date: | Mon, 27 Jan 2003 03:49:11 +0000 |
| Subject: | RE: [PHP-DB] Using strlen and substr to Shorten DB Results | ||
| References: | 1 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-25156@lists.php.net to get a copy of this message | ||
> I have a script that I am working on that pulls info from a database:
>
> <-- Code -->
> $getscname = mysql_query("SELECT * FROM subcat WHERE subcatid =
> '$subcatid'") or die ("Couldn't get the
> info.<br>".mysql_error());
>
> while($sub_cat = mysql_fetch_array($getscname)){
> $subcat_id = $sub_cat['subcatid'];
> $subcat_name = $sub_cat['subcatname'];
>
> echo '<a
>
href="subcat.php?catid='.$catid.'&sc='.$subcat_id.'">'.$subcat_name.'</a
> > | ';
> }
> <-- Code -->
>
> At the end of each link, a pipe is printed. I want to take the pipe
off
> of the last result, so that the page will prit out:
>
> SubCat1 | SubCat2 | SubCat3
>
> I've tried using strlen & substr to do this, but it cuts the pipe off
of
> all the results, not the last one. Any suggestions?
Based on how you're building your string, you'll want to remove the last
25 characters from it to get rid of the last | and all of the
characters. So, this should work:
$fixed_str = substr($old_str,0,-25);
Or, you could use a regular expression to match the last | and whatever
follows it up to the end of the string.
$fixed_str = preg_replace("/|[^|]*$/","",$old_str);
---John W. Holmes...
PHP Architect - A monthly magazine for PHP Professionals. Get your copy
today. http://www.phparch.com/