By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
438,747 Members | 2,039 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 438,747 IT Pros & Developers. It's quick & easy.

Making "containers" - is there a way?

P: n/a
I want to do this:

function square ($a){ print "-- $a --"; }

And use it like this:

<? square( ?> Hello! <? ) ?>

And get this:

-- Hello! --

But of course it doesn't work, so I have to do this:

function square1 { print "-- "; }
function square2 { print " --"; }

And us it like this:

<? square1() ?> Hello! <? square2() ?>
Which isn't as clean... Is there a way to solve it like I want to do it?
If you hadn't understood it yet, it's for making a frame around blocks
of text.
Jul 16 '05 #1
Share this Question
Share on Google+
6 Replies


P: n/a


it's for making a frame around blocks of text.


Not sure exactly what you meant, but have you considered doing this in CSS
stylesheets?
<style type="text/css">
p.box {border: 1px solid black; padding: 8px;}
</style>
<p class="box">Block of text</p>

Martin
Jul 16 '05 #2

P: n/a
Sandman wrote:
If you hadn't understood it yet, it's for making a frame around blocks
of text.


<p style="border-style: dashed; border-width: 1px; border-color:
black;">Hello</p>

HTH;
JOn
Jul 16 '05 #3

P: n/a
In article <Pi**************************************@green.cs i.cam.ac.uk>,
Martin Lucas-Smith <mv***@cam.ac.uk> wrote:
it's for making a frame around blocks of text.


Not sure exactly what you meant, but have you considered doing this in CSS
stylesheets?
<style type="text/css">
p.box {border: 1px solid black; padding: 8px;}
</style>
<p class="box">Block of text</p>


Thanks, but CSS only affects the appaerance, I want to actually insert things
before and after the text.

--
Sandman[.net]
Jul 16 '05 #4

P: n/a
In article <bi**********@titan.btinternet.com>, haptiK <no****@nospam.com>
wrote:
I want to do this:

function square ($a){ print "-- $a --"; }

And use it like this:

<? square( ?> Hello! <? ) ?>

And get this:

-- Hello! --

But of course it doesn't work, so I have to do this:

function square1 { print "-- "; }
function square2 { print " --"; }

And us it like this:

<? square1() ?> Hello! <? square2() ?>
Which isn't as clean... Is there a way to solve it like I want to do it?
If you hadn't understood it yet, it's for making a frame around blocks
of text.


whats wrong with the following...
<?php
function square($a) {

print "-- $a --";

}
?>

<?php square('Hello!'); ?>

thats all you need to do... am i missing something here?


Well, I want to use this for things like:

<? square( ?>
Hello, everything here will be inside a nice looking box, constructed with a
table, and this image will also look fine: <img ....> And bla bla bla...
<? ); ?>

See? I don't want to be restricted by the limitations that the function string
implies.

--
Sandman[.net]
Jul 16 '05 #5

P: n/a
Sandman:
Well, I want to use this for things like:

<? square( ?>
Hello, everything here will be inside a nice looking box, constructed with
a table, and this image will also look fine: <img ....> And bla bla bla...
<? ); ?>

See? I don't want to be restricted by the limitations that the function
string implies.


Use a function, but whenever the string becomes complicated use heredoc
syntax (see
http://www.php.net/manual/en/languag...syntax.heredoc)

If the contents become quite large, use file inclusion where
square('filename') means to wrap the contents of filename with whatever you
define in square().

IMO they are both a lot easier on the eye than the syntax you want... Don't
forget that other people may have to work with your code at some stage :)

André Nęss
Jul 16 '05 #6

P: n/a

"Sandman" <mr@sandman.net> wrote in message
news:mr**********************@news.fu-berlin.de...
Well, I want to use this for things like:

<? square( ?>
Hello, everything here will be inside a nice looking box, constructed with a table, and this image will also look fine: <img ....> And bla bla bla...
<? ); ?>

See? I don't want to be restricted by the limitations that the function string implies.


How about doing it the template way ? Just insert an imaginary tag to your
HTML, like {square}:

{square}
Hello, everything here will be inside a nice looking box, constructed with a
table, and this image will also look fine: <img ....> And bla bla bla...
{/square}

Then at the end just pass all the output of the file through a function that
replaces {square} and {/square} with whatever you wish. output buffering
will be handy here, lets you edit and play with outputted text (text outside
php tags) before it is sent to the browser.
See: http://www.php.net/ob_start
HTH

--
Suni
Jul 16 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.