Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

PHP:  how to replace a VBCrLf to a break using str_replace

Posted on 2008-06-14
10
Medium Priority
?
2,978 Views
Last Modified: 2013-12-13
I am trying to translate a line from ASP.NET with MSSQL to PHP with MySQL.

The original is:
bio = replace(RS("biography"),vbcrlf,"<br />")

I got to here:
$bio = str_replace("\n", "<br />", $row["biography"]);

but the breaks aren't showing.
In MySQL the entity shows line breaks.
How do I detect them?

help?
Thanks
0
Comment
Question by:Evan Cutler
  • 4
  • 3
  • 2
  • +1
10 Comments
 
LVL 82

Expert Comment

by:hielo
ID: 21787510
try:
$bio = preg_replace('/(\r?\n)/', "<br />", $row["biography"]);
0
 
LVL 143

Assisted Solution

by:Guy Hengel [angelIII / a3]
Guy Hengel [angelIII / a3] earned 400 total points
ID: 21787535
please try this:
$search = array("\r\n", "\n", "\r");
$replace = '<br />';
$bio = str_replace($search, $replace,$row["biography"]);

Open in new window

0
 
LVL 9

Author Comment

by:Evan Cutler
ID: 21787570
no dice.
When I look at the output from MyPHPAdmin I can see the entries carraige return, but there is no visible symbols to indicate the carriage return.  

This is what it looks like in MySQL-MyPHPAdmin:
Ages:  All Ages
Medical School:  University of Kansas School of Medicine
Medical Degree:  MD
Board Certified:  Yes
Type of Board:  American Board of Family Practice

THis is what it looks like in the output:
Ages: 16 years and older Medical School: University of Connecticut Medical Degree: MD Board Certified: Yes Type of Board: American Board of Internal Medicine

help?
0
NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

 
LVL 9

Author Comment

by:Evan Cutler
ID: 21787577
It also shows it like this:

<td valign="top">Ages:  12 years and older
Medical School:  University of Kansas School of Medicine
Medical Degree:  MD
Board Certified:  Yes
Type of Board:  American Board of Internal Medicine</td>

in the code.  Why does it not see that?
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 21787579
can you show the relevant php code you use to query + output  the data?
is the php file online so we can see the output?
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 21787584
just to be sure: did you try out my suggestion also?
0
 
LVL 82

Accepted Solution

by:
hielo earned 800 total points
ID: 21787610
try:
$bio = preg_replace('/(\r\n|\n|\r|\f)/U', "<br />", $row["biography"]);
0
 
LVL 9

Author Comment

by:Evan Cutler
ID: 21787714
yep, tried both.  Here's my code:


	$SQL = "select physician_name,biography,photo_path from physicians";
	$SQL = $SQL . " where physician_id = " . $docid;
	//<!--#include file="/includes/validate.asp"-->
	include("../includes/appdata.php");
	$result = mysql_query($SQL) or die ("Error performing query: " .  mysql_error() . "<br>" . $SQL . "</td></tr>");
	$num_rows = mysql_num_rows($result);
	if ($num_rows == 0)
	{
		echo "No physician listings was found.";
	}
	else
	{
		while ($row = @mysql_fetch_array($result))
		{
			if (strlen($row["biography"]) <= 0 || $row["biography"] == NULL)
			{
				echo "<tr><td>No current biography exists for ". $row["physician_name"] .".</td></tr>";
			}
			else
			{ 
				$bio = preg_replace('/(\r\n|\n|\r|\f)/U', "<br />", $row["biography"]);
				?>
				
					<tr>
						<td <?PHP if (strlen($row["photo_path"]) > 0) { ?>colspan="2"<?PHP } ?> >
							<table cellpadding="0" cellspacing="0" border="0" width="100%">
								<tr>
									<td width="19"><img src="../images/headerArrow.gif" width="19" height="23" border="0" /></td>
									<td class="headerText" valign="middle" bgcolor="#B5CBDB"><strong><?PHP echo $row["physician_name"]; ?></strong></td>
								</tr>
							</table>
						</td>
					</tr>
					<tr>
						<?PHP if (strlen($row["photo_path"]) > 0) { ?>
							<td align="left" valign="top" width="150"><img src="../<?PHP echo $row["photo_path"]; ?>" width="139" height="132" hspace="3"></td>
						<?PHP } ?>
						<td valign="top"><?PHP echo $row["biography"]; ?></td>			
					</tr>			
						
				
				<?PHP
				
				
			}
	
		}
	}
	?>
	
	</table>

Open in new window

0
 
LVL 4

Assisted Solution

by:afzz
afzz earned 800 total points
ID: 21787777
change the code shown below
//change this
<?PHP if (strlen($row["photo_path"]) > 0) { ?>
                                                        <td align="left" valign="top" width="150"><img src="../<?PHP echo $row["photo_path"]; ?>" width="139" height="132" hspace="3"></td>
                                                <?PHP } ?>
                                                <td valign="top"><?PHP echo $row["biography"]; ?></td>                  
                                        </tr>                   
 
//into this
<?PHP if (strlen($row["photo_path"]) > 0) { ?>
                                                        <td align="left" valign="top" width="150"><img src="../<?PHP echo $row["photo_path"]; ?>" width="139" height="132" hspace="3"></td>
                                                <?PHP } ?>
                                                <td valign="top"><?PHP echo $bio; ?></td>                  
                                        </tr>                   

Open in new window

0
 
LVL 9

Author Closing Comment

by:Evan Cutler
ID: 31467296
Thanks Guys!!!
Awesome solutions.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

3 proven steps to speed up Magento powered sites. The article focus is on optimizing time to first byte (TTFB), full page caching and configuring server for optimal performance.
Backups and Disaster RecoveryIn this post, we’ll look at strategies for backups and disaster recovery.
The viewer will learn how to count occurrences of each item in an array.
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…
Suggested Courses

971 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question