Wpis z mikrobloga

php mirki potrzebna pomoc, otóż zmodyfikowałem sobie kod #php pod swoją zachciankę jednak coś nie działa, mianowicie z normalnym tekstem wszystko jest okej ale problem pojawia się jak chcę żeby sprawdziło link i wtedy już nie wykrywa duplikatu, tutaj kod php który użyłem:

php

if(isset($_POST['Fetch'])){
$file_names = "playlista.txt";
$current_names = file_get_contents($file_names);
echo nl2br($current_names);
}

if(isset($_POST['Save']) && !empty($_POST['textbox'])){

$file_names = "playlista.txt";
$current_names_onfile = file_get_contents($file_names);
$current_names = $_POST["textbox"];
$arr = explode("\r", $current_names);
foreach($arr as $name)
{
#remove line breaks
$name = preg_replace('/[\r\n]/m', '', $name);
#if the name doesn't exist on file stores it.
if (!preg_match("/^\b$name\b\$/m", $current_names_onfile)) {
file_put_contents("playlista.txt", PHP_EOL.$name, FILE_APPEND);
}else{
echo "$to juz jest dodane!<br /";
}
}

$file_names = "playlista.txt";
$current_names = file_get_contents($file_names);
echo nl2br($current_names);

}else if(isset($_POST['Save'])){
echo "wpisz coś!";
}

?>

zależy mi na tym żeby nie dało się wrzucać zduplikowanych linków do yt, bo tekstu się nie da a link przechodzi, jakby ktoś to byłbym wdzięczny ;)
  • 12
@Moonman: jest późno i nie wiem czy dobrze rozumiem; ale problem może być w tym że linki / adresy URL mogą zawierać znaki typu '<' '>' ':' '/' - i z nich nie powinno się budować wyrażenia regularnego tylko trzeba je wy-eskejpować bo mogą wyrażenie popsuć (to co leci do preg_match w pierwszym argumencie). Pierwsze co bym zrobił to pododawał przed tymi znakami w playlista.txt znak '\'. Ale trochę na czuja
@feaber: ja zupełnie nie wiem co robię ¯_(ツ)_/¯ raczej liczę na to że ktoś to przerobi tak że zadziała, ogólnie chodzi o to żeby z forma zapisywać linki do yt i o to żeby się nie dublowały do pliku playlista.txt (jeden link na linie) :|
@feaber: dzięki mirku, dobrze że sprawdziłem bo nie zawołałeś, działać działa ale nadal można jeden i ten sam link dodać ;)

string(47) "https\:\/\/www.youtube.com\/watch?v=4zLfCnGVeL4"
[https://www.youtube.com/watch?v=4zLfCnGVeL4](https://www.youtube.com/watch?v=4zLfCnGVeL4)
[https://www.youtube.com/watch?v=4zLfCnGVeL4](https://www.youtube.com/watch?v=4zLfCnGVeL4)

wydaje mi się że to może być problemem
Moonman - @feaber: dzięki mirku, dobrze że sprawdziłem bo nie zawołałeś, działać dzia...

źródło: comment_G3YcbhSby753y29NRj1DMTHDzLnaLb9I.jpg

Pobierz