PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (13): В начало « ... 5 6 7 8 9 10 11 [12] 13 »

> Найдено сообщений: 190
lawer85 Отправлено: 30 Марта, 2013 - 20:12:31 • Тема: Регулярное выражение (замена ссылок в тексте) • Форум: Вопросы новичков

Ответов: 1
Просмотров: 133
Мне нужно было заменить в входящем тексте все ссылки на некий текст. Вот код что я написал


CODE (html):
скопировать код в буфер обмена
  1. <?php
  2. if (isset($_POST["Отправить"])) {
  3. $text = $_POST["text"];
  4. echo $text;
  5. function ReplaceText($text) {
  6. $reg = "/[(http:\/\/)(https:\/\/)[^(http:\/\/)(https:\/\/)]][(([a-z0-9]+([a-z0-9-]*[a-z0-9]+)*\.)+[a-z]+)(([a-z0-9]+([a-z0-9-]*[a-z0-9]+)*\.)+[a-z]+\/[a-z0-9][a-z0-9]*[a-z0-9]*=[a-z0-9][a-z0-9\.][a-z0-9]) *]/i";
  7. return preg_replace($reg, "<b>тут была ссылка</b>", $text);
  8. }
  9. echo ReplaceText($text);
  10. }
  11. ?>
  12.  
  13. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  14. <html xmlns="http://www.w3.org/1999/xhtml">
  15. <head>
  16.         <title>Заголовок</title>
  17. </head>
  18. <body>
  19.         <form name="myform" action="index.php" method="POST">
  20.                 <table>
  21.                         <tr>
  22.                                 <td>Текстовая область:</td>
  23.                                 <td>
  24.                                         <textarea rows="10" cols="45" name="text"></textarea>
  25.                                 </td>
  26.                         </tr>  
  27.                         <tr>
  28.                                 <td>
  29.                                         <input type="submit" name="Отправить" value="Отправить">
  30.                                 </td>
  31.                         </tr>                          
  32.                 </table>
  33.         </form>
  34. </body>
  35. </html>


При вводе текста со ссылками в теле и нажатии кнопки ОТПРАВИТЬ, браузер выдает:

Цитата:
Warning: preg_replace() [function.preg-replace]: Compilation failed: unmatched parentheses at offset 87 in Z:\home\site.local\www\index.php on line 7



Только пожалуйста не давайте свои варианты с нуля, укажите конкретно в моем коде что я не так сделал. Хочу разобраться!
lawer85 Отправлено: 01 Марта, 2013 - 22:50:20 • Тема: Нарисовать график y=cos(x) • Форум: Вопросы новичков

Ответов: 16
Просмотров: 1474
OrmaJever пишет:
Значит первое, как уже сказал DlTA шаг может быть только 1px.
второе, насколько я помню математику cos и sin не может быть больше 1, здесь вспоминаем правило первое, но можно добавить множитель.
PHP:
скопировать код в буфер обмена
  1. $mx = 10;
  2. $mc = 1;
  3. $im = imagecreatetruecolor(800, 800);
  4. $c = imagecolorallocate($im, 120, 220, 150);
  5. imageline($im, 0, 400, 800, 400, $c);
  6. imageline($im, 400, 0, 400, 800, $c);
  7.  
  8. for ($x=400+round(-3*3.14)*$mx; $x<=400+round(3*3.14)*$mx;) {
  9.         $i = imagecolorallocate($im, 255, 255, 255);
  10.         imageline($im, $x, round(400+cos($x)*$mx), $x+=$mc, round(400+cos($x)*$mx), $i);
  11. }
  12.  
  13. header("Content-type: image/png");
  14. imagepng($im);

$mx тот самый множитель для $y что бы значение хоть как-то изменялось, а вот $mc... этот множитель я добавил что бы немного растянуть график по горизонтали, но получил интересный эфект! Попробуйте добавлять по одной еденице к mc, и увидите интересные эффекты ;)


Спасибо большое.
(Добавление)
DeepVarvar пишет:
DlTA пишет:
не то

у вас шаг должен быть в 1 пиксел
Правильно, я написал лишь принцип.
OrmaJever пишет:
насколько я помню математику cos и sin не может быть больше 1

1 - sin = cos и наоборот, 1 - tg = ctg и наоборот.
Это четыре четверти еденичной окружности, т.е. окружности, радиус которой равет еденице.
Тогда ничего не стоит расчитать zoom под себя, это же простые пропорции.
Человек же говорит что с этим то у него все нормально.
И как выясняется - не нормально.
(Добавление)
LIME пишет:
http://www.php.net/manual/ru/function.pi.php
Ну, я во всяком случае попытался заставить его думать самостоятельно.


Просто мне уже 27 лет, а школу я закончил ну скажем так давно, хоть тогда я и отлично понимал алгебру.
lawer85 Отправлено: 01 Марта, 2013 - 21:47:35 • Тема: Нарисовать график y=cos(x) • Форум: Вопросы новичков

Ответов: 16
Просмотров: 1474
Вот на что меня хватает

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $im = imagecreatetruecolor(800, 800);
  3. $c = imagecolorallocate($im, 120, 220, 150);
  4. imageline($im, 0, 0, imagesx($im), imagesy($im), $c);
  5. for ($x = 0; $x < (3*3.14); $x += 0.01) {
  6. $y = cos($x);
  7. $i = imagecreatetruecolor($x, $y);
  8. imageline($im, imagesx($i), imagesy($i), imagesx($i), imagesy($i), $c);
  9. }
  10. header("Content-type: image/png");
  11. imagepng($im);
  12.  
  13. ?>
  14.  


Я же говорю выходит чушь полная. Не могу понять как именно надо сделать.
lawer85 Отправлено: 01 Марта, 2013 - 14:39:57 • Тема: Заполнение страницы таблицами. • Форум: Вопросы новичков

Ответов: 4
Просмотров: 117
http://htmlbook[dot]ru/samcss
lawer85 Отправлено: 01 Марта, 2013 - 13:55:34 • Тема: Нарисовать график y=cos(x) • Форум: Вопросы новичков

Ответов: 16
Просмотров: 1474
DeepVarvar пишет:
PHP:
скопировать код в буфер обмена
  1. for ($x = 0; $x < (3*3.14); $x += 0.01) {
  2.   // код который ты знаешь
  3. }


Спасибо. Попробую дальше сам.
lawer85 Отправлено: 01 Марта, 2013 - 13:45:09 • Тема: Нарисовать график y=cos(x) • Форум: Вопросы новичков

Ответов: 16
Просмотров: 1474
Вопрос в том, что все это я знаю. НО сам код не получается написать при условии Х должен меняться от 0 до 3PI.
lawer85 Отправлено: 01 Марта, 2013 - 13:06:36 • Тема: Нарисовать график y=cos(x) • Форум: Вопросы новичков

Ответов: 16
Просмотров: 1474
Мне нужно именно на PHP это сделать без java и без БД
lawer85 Отправлено: 01 Марта, 2013 - 01:33:50 • Тема: Нарисовать график y=cos(x) • Форум: Вопросы новичков

Ответов: 16
Просмотров: 1474
Вобщем нужно построить график именно в виде рисунка y=cos(x) причем Х должен меняться от 0 до 3PI.


Пытаюсь это сделать, но сам понимаю что выходит чушь полная у меня.

Каков должен быть код чтоб выполнить это задание?
lawer85 Отправлено: 28 Февраля, 2013 - 02:23:45 • Тема: Многообразие функций и их применение • Форум: Вопросы новичков

Ответов: 1
Просмотров: 62
Я изучаю по немногу PHP функции и уже голова кругом от их изобилия.

Вопрос к опытным. Каким образом Вы их помните или что помогает вспомнить и применить при решении каких-то конкретных задач?
lawer85 Отправлено: 22 Февраля, 2013 - 18:13:20 • Тема: Вывести комментарии из txt файла • Форум: Вопросы новичков

Ответов: 4
Просмотров: 594
esterio пишет:
есть метод попроще
Формат
PHP:
скопировать код в буфер обмена
  1. $comments = array(
  2.         array(
  3.                 'name' = > 'someName1',
  4.                 'comment' = > 'someComment1',
  5.         ),
  6.         array(
  7.                 'name' = > 'someName2',
  8.                 'comment' = > 'someComment2',
  9.         ),
  10.         array(
  11.                 'name' = > 'someName3',
  12.                 'comment' = > 'someComment3',
  13.         ),
  14.         // etc.
  15. );


Код
PHP:
скопировать код в буфер обмена
  1. function getComments()
  2. {
  3.         return is_readable(COMMENTS_FILE) ? unserialize(file_get_contents(COMMENTS_FILE)) : array();
  4. }
  5.  
  6. function setComments($comments)
  7. {
  8.         if(!is_writeable(COMMENTS_FILE) || is_resource($comments))
  9.                 return false;
  10.  
  11.         return file_put_contents(COMMENTS_FILE, serialize($comments));
  12. }
  13.  
  14. define('COMMENTS_FILE', 'comment.txt');
  15. $comments = getComments();
  16. // ...
  17. setComments($comments);





Попроще? Я только начинаю изучат ПХП и для меня многое вообще не знакомо в этом коде.
lawer85 Отправлено: 22 Февраля, 2013 - 17:47:05 • Тема: Вывести комментарии из txt файла • Форум: Вопросы новичков

Ответов: 4
Просмотров: 594
Вобщем есть такое задание

Цитата:
1. Сделайте форму со следующими полями: "Имя" и "Комментарий".
2. Обработайте, форму, записав введенные данные в файл с комментариями.
3. На этой же странице выведите все текущие комментарии в таблице (1 комментарий - 1 строка).

Примечание: Вы должны подумать, в каком виде надо сохранять комментарии в файл, и чем разделять сами комментарии, чтобы затем было легко разобрать этот файл и вывести необходимую информацию на страницу.


У меня вышел такой код, но он не совсем соответствует заданию. Подскажите как можно исправить код или вообще написать по-другому

CODE (htmlphp):
скопировать код в буфер обмена
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4.         <title>Заголовок</title
  5. </head>
  6. <body>
  7.         <form name="myform" action="index.php" method="post">
  8.                 <table>
  9.                         <tr>
  10.                                 <td>Имя:</td>
  11.                                 <td>
  12.                                         <input type="text" name="name">
  13.                                 </td>
  14.                         </tr>  
  15.                         <tr>
  16.                                 <td>Комментарий:</td>
  17.                                 <td>
  18.                                         <input type="text" name="com">
  19.                                 </td>
  20.                         </tr>  
  21.                         <tr>
  22.                                 <td>
  23.                                         <input type="submit" value="Отправить" name="Отправить">
  24.                                 </td>
  25.                         </tr>                          
  26.                 </table>
  27.         </form>
  28. <table>
  29. <?php
  30. if (isset($_POST["Отправить"])) {
  31. echo "<br />";
  32. Echo "<b>Все комментарии</b>";
  33. echo "<br />";
  34. echo "<br />";
  35. $x = $_POST["name"];
  36. $y = $_POST["com"];
  37. $file = fopen("comment.txt", "at");
  38. fwrite($file, "$x : $y<br /><br />");
  39.  
  40. echo "<tr><td>".file_get_contents("comment.txt")."</td></tr>";
  41.  
  42. echo "<br />";
  43. echo "<br />";
  44. fclose($file);
  45.                         }
  46. ?>
  47.                 </table>
  48. </body>
  49. </html>
  50.  
lawer85 Отправлено: 24 Января, 2013 - 22:37:44 • Тема: Точка преткновения ) • Форум: Вопросы новичков

Ответов: 1
Просмотров: 83
Почему в таком случае выводится цифра 5 нормально

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $j = array(1,5);
  3.  
  4. Echo "<table><tr><td><b>$j[1]</b></td></tr></table>";
  5. ?>



А вот в таком нужно обязательно соединять строки точкой иначе выводит так array[0] и т.д.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $f = array(array(11, 12, 13, 14, 15), array(21, 22, 23, 24, 25), array(31, 32, 33, 34, 35), array(41, 42, 43, 44, 45), array(51, 52, 53, 54, 55));
  4. echo
  5. "<table cellpadding = 1 cellspacing = 1>
  6. <tr><td>".$f[0][0]."</td><td>".$f[0][1]."</td><td>".$f[0][2]."</td><td>".$f[0][3]."</td><td>".$f[0][4]."</td></tr>
  7. <tr><td>".$f[1][0]."</td><td>".$f[1][1]."</td><td>".$f[1][2]."</td><td>".$f[1][3]."</td><td>".$f[1][4]."</td></tr>
  8. <tr><td>".$f[2][0]."</td><td>".$f[2][1]."</td><td>".$f[2][2]."</td><td>".$f[2][3]."</td><td>".$f[2][4]."</td></tr>
  9. <tr><td>".$f[3][0]."</td><td>".$f[3][1]."</td><td>".$f[3][2]."</td><td>".$f[3][3]."</td><td>".$f[3][4]."</td></tr>
  10. <tr><td>".$f[4][0]."</td><td>".$f[4][1]."</td><td>".$f[4][2]."</td><td>".$f[4][3]."</td><td>".$f[4][4]."</td></tr>
  11. </table>
  12. "
  13. ?>
lawer85 Отправлено: 24 Января, 2013 - 22:31:14 • Тема: как <input type="image"> превратить <input type="button"> • Форум: Вопросы новичков

Ответов: 3
Просмотров: 117
Тип button это просто кнопка а надо submit
lawer85 Отправлено: 24 Января, 2013 - 14:31:41 • Тема: 2 разных по типу массива должны выводить одно и тоже • Форум: Вопросы новичков

Ответов: 5
Просмотров: 665
Вобщем сам решил как сделать. Оба массива в итоге совпадают.


PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $x = array("один","два","три");
  4. function getout($t) {
  5. if ($t == "один") return 1;
  6. elseif ($t == "два") return 2;
  7. elseif ($t == "три") return 3;
  8. }
  9.  
  10. for ($i = 0; $i < 100; $i++ ) {
  11. $g[] = ($i * getout($x[$i % 3]));
  12.  
  13. }
  14. print_r ($g);
  15. echo "<br />";
  16. echo "<br />";
  17. $s = array("один" => 1, "два" => 2, "три" => 3);
  18. $j = 0;
  19.  
  20. while ($j < 100) {
  21.  
  22. $r[]= ($j * $s[$x[$j % 3]]);
  23. $j++;
  24.  
  25. }
  26. print_r ($r);
  27. ?>
lawer85 Отправлено: 20 Января, 2013 - 22:03:58 • Тема: 2 разных по типу массива должны выводить одно и тоже • Форум: Вопросы новичков

Ответов: 5
Просмотров: 665
Не пойму как у тебя в первом массиве выходят все 1, например при значении i = 2 у нас выходит 4, которое записывается в очередной индекс
(Добавление)
На счет ассоциативного массива из 6 п я спрошу у того кто писал задание, это я взял из курса по PHP
(Добавление)
lawer85 пишет:
Не пойму как у тебя в первом массиве выходят все 1, например при значении i = 2 у нас выходит 4, которое записывается в очередной индекс
(Добавление)
На счет ассоциативного массива из 6 п я спрошу у того кто писал задание, это я взял из курса по PHP


А все теперь понял. Я сам сначала так ошибся. Смотри в задании

Цитата:
(номер итерации * х), где х - это число, возвращаемое функцией, созданной во 2 пункте


т.е. не
PHP:
скопировать код в буфер обмена
  1. $g[] = getout($i * ($x[$i % 3]));
а вот так

Страниц (13): В начало « ... 5 6 7 8 9 10 11 [12] 13 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB