Use php functions in html

call php function from HTML string

I’m facing a problem to call PHP function from html code and fill arguments of function. After that the HTML code is output with returned values of functions. for an example: somewhere In PHP file are defined functions

function html_field($type,$name,$value) < //some code here return $out; >// or other example function function boldme($text)< return "$text"; > 

After that is generated html output in string with php functions inside (like tags) HTML String: $html = «

» OR $html = «

» The solution should ends, like: $html = «

» OR $html = «

» It is required to filter this string. NOTE: The string containing the collected html data from templates and themes, they are unknowable files with pure HTML inside. I was using preg_replace_callback to create needed functionality, but all gone now, thanks to my boss. !@#!

Extending NemoStein solution $HTML = ‘your html ‘. myFunc($value). ‘more html ‘; should seems to solve your issue. Why you need callback or Eval for that matter.

2 Answers 2

If you need to parse a string and call some function based on it, you can use the preg_replace_callback function.

Something like this should do the trick:

$html = " 

"; function contentParser($matches) < $function = $matches[1]; $parameters = array_slice($matches, 2); return call_user_func_array($function, $parameters); >function functionName($valueA, $valueB) < return "You called functionName with values " . $valueA . " and " . $valueB; >echo preg_replace_callback( "/\<(\w+)\([\"']([^\"']+)[\"'](. ?[\"']([^\"']+)[\"'])?\)\>/", "contentParser", $html);

This will print the following:

You called functionName with values value1 and value2 

Note that my regex have a big problem.
You can enclose the values (in your html) in single or double quotes (» or ‘), and you CAN mix them. This leads to a second problem, which you can’t use either in your values (I don’t check for escaped sequences).

A simpler patter that uses only one character as a value wrapper (and you can change that character, of course) is the following:

Here I’m using the sharp (#) as value delimiter, then, your html must look like this:

Источник

How to Use PHP in HTML

Sajal Soni

Sajal Soni Last updated Mar 26, 2022

In this article, I’ll show you how to use PHP code in your HTML pages. It’s aimed at PHP beginners who are trying to strengthen their grip on the world’s most popular server-side scripting language.

Again, PHP is a server-side scripting language. That means a PHP script is executed on the server, the output is built on the server, and the result is sent as HTML to the client browser for rendering. It’s natural to mix PHP and HTML in a script, but as a beginner, it’s tricky to know how to combine the PHP code with the HTML code.

What’s in this article:

Learn PHP With a Free Online Course

If you want to learn PHP, check out our free online course on PHP fundamentals! In this course, you’ll learn the fundamentals of PHP programming. You’ll start with the basics, learning how PHP works and writing simple PHP loops and functions. Then you’ll build up to coding classes for simple object-oriented programming (OOP). Along the way, you’ll learn all the most important skills for writing apps for the web: you’ll get a chance to practice responding to GET and POST requests, parsing JSON, authenticating users, and using a MySQL database.

Today, we’re going to discuss a couple of different ways you could choose from when you want to use PHP in HTML. I assume that you have a working installation of PHP so that you can run the examples provided in this article.

Different Ways to Combine PHP and HTML

Broadly speaking, when it comes to using PHP in HTML, there are two different approaches. The first is to embed the PHP code in your HTML file itself with the .html extension—this requires a special consideration, which we’ll discuss in a moment. The other option, the preferred way, is to combine PHP and HTML tags in .php files.

Since PHP is a server-side scripting language, the code is interpreted and run on the server side. For example, if you add the following code in your index.html file, it won’t run out of the box.

First of all, don’t worry if you haven’t seen this kind of mixed PHP and HTML code before, as we’ll discuss it in detail throughout this article. The above example outputs the following in your browser:

So as you can see, by default, PHP tags in your .html document are not detected, and they’re just considered plain text, outputting without parsing. That’s because the server is usually configured to run PHP only for files with the .php extension.

If you want to run your HTML files as PHP, you can tell the server to run your .html files as PHP files, but it’s a much better idea to put your mixed PHP and HTML code into a file with the .php extension.

That’s what I’ll show you in this tutorial.

How to Add PHP Tags in Your HTML Page

When it comes to integrating PHP code with HTML content, you need to enclose the PHP code with the PHP start tag . The code wrapped between these two tags is considered to be PHP code, and thus it’ll be executed on the server side before the requested file is sent to the client browser.

Let’s have a look at a very simple example, which displays a message using PHP code. Create the index.php file with the following contents under your document root.

 How to put PHP in HTML - Simple Example 
  echo "This message is from server side." ?>  

The important thing in the above example is that the PHP code is wrapped by the PHP tags.

The output of the above example looks like this:

Example OutputExample OutputExample Output

And, if you look at the page source, it should look like this:

page source code

As you can see, the PHP code is parsed and executed on the server side, and it’s merged with HTML before the page is sent to the client browser.

Let’s have a look at another example:

 How to put PHP in HTML- Date Example 
 This is pure HTML message. 
 Next, we’ll display today’s date and day by PHP! 
Today’s date is  echo date('Y/m/d') ?>  and it’s a  echo date(l) ?>  today!
 Again, this is static HTML content. 

This will output the current date and time, so you can use PHP code between the HTML tags to produce dynamic output from the server. It’s important to remember that whenever the page is executed on the server side, all the code between the tags will be interpreted as PHP, and the output will be embedded with the HTML tags.

In fact, there’s another way you could write the above example, as shown in the following snippet.

 How to put PHP in HTML- Date Example 
 This is pure HTML message. 
 Next, we’ll display today’s date and day by PHP! 
echo 'Today’s date is ' . date('Y/m/d') . ' and it’s a '.date('l').' today!'; 
 Again, this is static HTML content. 

In the above example, we’ve used the concatenation feature of PHP, which allows you to join different strings into one string. And finally, we’ve used the echo construct to display the concatenated string.

The output is the same irrespective of the method you use, as shown in the following screenshot.

Text output of the PHP code

And that brings us to another question: which is the best way? Should you use the concatenation feature or insert separate PHP tags between the HTML tags? I would say it really depends—there’s no strict rule that forces you to use one of these methods. Personally, I feel that the placeholder method is more readable compared to the concatenation method.

The overall structure of the PHP page combined with HTML and PHP code should look like this:

In the next section, we’ll see how you could use PHP loops with HTML.

How to Use PHP Loops in Your HTML Page

Iterating through the arrays to produce HTML content is one of the most common tasks you’ll encounter while writing PHP scripts. In this section, we’ll see how you could iterate through an array of items and generate output.

In most cases, you’ll need to display array content which you’ve populated from the database or some other sources. In this example, for the sake of simplicity, we’ll initialize the array with different values at the beginning of the script itself.

Go ahead and create a PHP file with the following contents.

 How to put PHP in HTML - foreach Example 
$employees = array(John, Michelle, Mari, Luke, Nellie); 
 foreach ($employees as $employee)  ?> 

Firstly, we’ve initialized the array at the beginning of our script. Next, we’ve used the foreach construct to iterate through the array values. And finally, we’ve used the echo construct to display the array element value.

And the output should look like this:

Output showing a list of employeesOutput showing a list of employeesOutput showing a list of employeesThe same example with a while loop looks like this:

 How to put PHP in HTML - foreach Example 
$employees = array(John, Michelle, Mari, Luke, Nellie); 

And the output will be the same. So that’s how you can use foreach and while loops to generate HTML content based on PHP arrays.

In the next section, we’ll see how you could use PHP short tag syntax.

How to Use PHP Short Tags

Let’s revise the example with the short-hand syntax which we discussed earlier.

 How to put PHP in HTML - Simple Example 
  "This message is from server side." ?>  

As you can see, we can omit the echo or print construct while displaying a value by using the shorthand syntax. The shorthand syntax is short and readable when you want to display something with echo or print .

So these are different ways you can use to add PHP in HTML content. As a beginner, you can learn from trying different ways to do things, and it’s fun too!

Including Code from Different Files

There are a lot of situations where you need to use the same code on multiple pages of a website. One such example would be the header and footer section of a website. These sections usually contain the same HTML throughout the website.

Think of this like moving the common CSS rules of a website into a stylesheet instead of placing them inside the style tags on individual pages.

There are four functions available in PHP to help you include other files within a PHP file. These are include() , include_once() , require() , and require_once() .

The include() function will include and evaluate the specified file and give you a warning if it cannot find the file. The require() function does the same thing, but it gives you an error instead of a warning if the file cannot be found.

When working on big projects, you might unintentionally include the same file multiple times. This could cause problems like function redefinition. One way to avoid these issues is to use the include_once() and require_once() functions in PHP.

Let’s use code from a previous section to show you how to use these functions. I will be using include() in this example. Create a file called header.php and place the following code inside it.

Источник

Calling a PHP function within an tag, anchor tag

Is it possible to call a PHP function within an anchor tag. I have a PHP function called logout(); Now I want something similar to this.

4 Answers 4

No; PHP is a server side scripting language, so it is inaccessible to the HTML like this. JavaScript can do this, as it is a client-side scripting language.

Since PHP is a server side language, a message (in the form of an HTTP request) must be sent to the server from the browser (the client) for any PHP to be executed — including your PHP function logout .

Option 1

Follow the hyperlink to a script which executes the logout() function.

Option 2

Submit a form to a script which executes the logout() function.

Option 3

Use an XMLHttpRequest /AJAX request to communicate with the server. (no sample code provided)

Richard JP Le Guen , in Option 1 is it possible only calling only a function in PHP file instead of calling a PHP file?

@MalusJan No. If you’ll do that, it will automatically process the function without clicking the logout button or link.

No, in order to call PHP you will have to make a request back to the server. You will either need to link to another PHP page:

Or you will have to make a JavaScript AJAX call to a PHP page («web service») that will perform the logout.

You didn’t specify the format of your document. If your document format is HTML you’ll need to load an external file but if it’s .php You can do it by setting your function inside a variable like so:

@dimo414 I’ve been using this code for years (mostly on wordpress sites) but as you say I could be incorrect, If you could elaborate on why my answer is wrong i’ll be happy to read and learn something new.

OP is asking how to call a PHP function when a user clicks a link, the same way one would do with JavaScript. The answer, as every other poster has said, is this is not possible because PHP is a server side language. You can of course put the result of a method call in an an (or anywhere else on the page), but that is not the question.

This code will automatically process the function without clicking the logout button or link. But it may produce different scenario depending on how the logout() function work.

Источник

Читайте также:  How to insert spaces/tabs in text using HTML/CSS?
Оцените статью